Guten Morgen,
leider habe ich nicht wirklich viel Ahnung vom Programmieren, will aber trotzdem folgende Aufgabe lösen, um mir die Arbeit etwas zu erleichtern.
Vielleicht ist einigen das Tool TST10 bekannt, mit dem man über Telnet Befehle absetzen kann.
TST10 wird wie folgt angesprochen:
tst10.exe /r:script.txt /o:1output.txt
/r: = auszuführendes Script
/o: = Logging Datei
Eine Script Datei sieht dann z.B. so aus:
192.168.1.100 2300
SEND "\m"
WAIT "login:"
SEND "admin\m"
WAIT "Password:"
SEND "admin1\m"
WAIT "s1#"
SEND "co\m"
WAIT "s1(config)#"
SEND "show load; show cpu\m"
WAIT "s1(config)#"
Die erste Zeile ist der Host, den man per Telnet erreichen will, der Rest sind jeweils SEND Befehle, die als Command abgesetzt werden oder WAIT Befehle. D.h. TST10 wartet immer bis der definierte Text im Fenster erscheint.
Jetzt zu meinem Problem: Mit einem Script, kann ich nur einen Host ansprechen, also muss ich es irgendwie hinbekommen, eine Reihe von Hosts ansprechen zu können.
Dazu habe ich eine TXT Datei(tst.txt) mit IP-Adressen (also die Hosts) erstellt und eine weitere mit den Befehlen für TST10 (cmd.txt).
Über eine Batch versuche ich nun diese zusammenzuführen und von TST10 ausführen zu lassen. Mein Script/Batch sieht momentan so aus:
For /F "tokens=* delims=" %%G IN (D:\Programme\tst10\tst.txt) DO
(
echo %%G >> %%G.txt
For /F "tokens=* delims=;" %%H IN (D:\Programme\tst10\cmds.txt) DO
(
echo %%H >> %%G.txt
)
echo tst10.exe /r:"D:\programme\tst10\%%G.txt" /o:"D:\programme\tst10\bench.txt"
)
pause
Jetzt habe ich das Problem, dass die FOR Schleife nach jeder Zeile ein Leerzeichen in die %%G.txt schreibt und TST10 versucht die Leerzeichen mitzulesen. Dadurch läuft das Ganze dann gegen die Wand.
Ist mein Ansatz schon falsch oder kann ich die Schleife irgendwie austricksen?
LG
blind3d
leider habe ich nicht wirklich viel Ahnung vom Programmieren, will aber trotzdem folgende Aufgabe lösen, um mir die Arbeit etwas zu erleichtern.
Vielleicht ist einigen das Tool TST10 bekannt, mit dem man über Telnet Befehle absetzen kann.
TST10 wird wie folgt angesprochen:
tst10.exe /r:script.txt /o:1output.txt
/r: = auszuführendes Script
/o: = Logging Datei
Eine Script Datei sieht dann z.B. so aus:
192.168.1.100 2300
SEND "\m"
WAIT "login:"
SEND "admin\m"
WAIT "Password:"
SEND "admin1\m"
WAIT "s1#"
SEND "co\m"
WAIT "s1(config)#"
SEND "show load; show cpu\m"
WAIT "s1(config)#"
Die erste Zeile ist der Host, den man per Telnet erreichen will, der Rest sind jeweils SEND Befehle, die als Command abgesetzt werden oder WAIT Befehle. D.h. TST10 wartet immer bis der definierte Text im Fenster erscheint.
Jetzt zu meinem Problem: Mit einem Script, kann ich nur einen Host ansprechen, also muss ich es irgendwie hinbekommen, eine Reihe von Hosts ansprechen zu können.
Dazu habe ich eine TXT Datei(tst.txt) mit IP-Adressen (also die Hosts) erstellt und eine weitere mit den Befehlen für TST10 (cmd.txt).
Über eine Batch versuche ich nun diese zusammenzuführen und von TST10 ausführen zu lassen. Mein Script/Batch sieht momentan so aus:
For /F "tokens=* delims=" %%G IN (D:\Programme\tst10\tst.txt) DO
(
echo %%G >> %%G.txt
For /F "tokens=* delims=;" %%H IN (D:\Programme\tst10\cmds.txt) DO
(
echo %%H >> %%G.txt
)
echo tst10.exe /r:"D:\programme\tst10\%%G.txt" /o:"D:\programme\tst10\bench.txt"
)
pause
Jetzt habe ich das Problem, dass die FOR Schleife nach jeder Zeile ein Leerzeichen in die %%G.txt schreibt und TST10 versucht die Leerzeichen mitzulesen. Dadurch läuft das Ganze dann gegen die Wand.
Ist mein Ansatz schon falsch oder kann ich die Schleife irgendwie austricksen?
LG
blind3d