Gast Flipshot Geschrieben 26. November 2003 Melden Geschrieben 26. November 2003 Bei uns im Unternehmen wird folgendes Script für die Datensicherung mittels NTBackup verwendet: @Echo Off Set Server=RVRWSV02 For /f "delims=" %%i In (C:\NTBackup\Bandzyklus.txt) Do Set Tape=%%i Start /wait NTBackup.exe Backup "@C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\%Server%.bks" /n "%Server% - %Tape%" /d "%Server% (Mo. - Fr. 23:00)" /v:no /r:no /rs:no /hc:on /m normal /j "%Server%.job" /l:s /p "4mm DDS" /um Start /wait Net Stop Wechselmedien Start /wait Net Start Wechselmedien RSM Eject /pf"%Server% - %Tape% - 1" /astart If "%Tape%"=="Montag 1" Set NextTape=Dienstag 1 If "%Tape%"=="Dienstag 1" Set NextTape=Mittwoch 1 If "%Tape%"=="Mittwoch 1" Set NextTape=Donnerstag 1 If "%Tape%"=="Donnerstag 1" Set NextTape=Freitag 1 If "%Tape%"=="Freitag 1" Set NextTape=Montag 2 If "%Tape%"=="Montag 2" Set NextTape=Dienstag 2 If "%Tape%"=="Dienstag 2" Set NextTape=Mittwoch 2 If "%Tape%"=="Mittwoch 2" Set NextTape=Donnerstag 2 If "%Tape%"=="Donnerstag 2" Set NextTape=Freitag 2 If "%Tape%"=="Freitag 2" Set NextTape=Montag 1 Echo %NextTape% > "C:\NTBackup\Bandzyklus.txt" Das aktuelle Band wird hierbei aus der Datei "Bandzyklus.txt" gelesen und anschließend das Band für den nächsten Tag in der Datei gespeichert. Leider passiert es hierbei des öfteren, dass anstelle des Bandnamens (z. B. Montag 1) immer "ECHO ist ausgeschalten (off)" drin steht. Weiss jemand, warum das der Fall sein könnte, zumal es ja nicht immer passiert. Gruß Flip
Dschonny 15 Geschrieben 26. November 2003 Melden Geschrieben 26. November 2003 hmm, lang ist's her das ich was damit gemacht habe, aber meiner Meinung nach liegt das einfach an deinem @Echo off am Anfang.. Schreib doch mal vor die letzte Zeile ein @Echo On Gruß, Dschonny
Gast Flipshot Geschrieben 26. November 2003 Melden Geschrieben 26. November 2003 Der Tipp mit dem "Echo on" war gut. Warum kommt man auf so einfach Sachen net selber. Problem war, dass beim Schreiben in die Datei an den Text noch ein Leerzeichen angehangen wird, welches dann am Folgetag mit ausgelesen wird. Beim Vergleich wird nun natürlich ein String mit Leerzeichen mit einem String ohne Leerzeichen am Schluss verglichen, folglich bleibt die Variabel %NextTape% leer und es wird nur ECHO ausgeführt. Gruß Flip
auer 10 Geschrieben 27. November 2003 Melden Geschrieben 27. November 2003 Das mit dem Echo ist bloß ein Workaround. Das eigentliche Problem läßt sich durch den Ausdruck for /f "tokens=*" %%i In ... lösen. Denn dann steht in der Variablen %%i die gesamte Zeile drin, nicht nur die erste Zeichenfolge bis zum Standardtrenner Leerzeichen. Mit "delims=" ein 'Nicht-Zeichen' als Trenner anzugeben funktioniert nicht. ------------- Gruß, Auer
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden