Jump to content
Sign in to follow this  
Guest Flipshot

Probleme beim Schreiben mit ECHO in Textdatei!

Recommended Posts

Guest Flipshot

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

Share this post


Link to post

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

Share this post


Link to post
Guest Flipshot

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

Share this post


Link to post

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

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...