Batch File - Zusammenführung zweier Dateien zur Konfiguration von Cisco Switches

blind3d

Newbie
Registriert
Juli 2013
Beiträge
2
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
 
Code:
echo %%G >> %%G.txt
um das Leerzeichen rauszubekommen mach mal folgendes
Code:
echo %%G>> %%G.txt
...
echo %%H>> %%G.txt

Weil jedes Leerzeichen vor dem Umleiteoperator > bzw >> wird in die Datei mit übernommen
 
Zuletzt bearbeitet:
Oh man -.-
Ich war schon dabei meine Tastatur zu zerstören vor Frust.
Hat funktioniert! :)))

Super! Danke dir!!!
 
Zurück
Oben