Written by georg
on November 25, 2015
Ich hab mich wieder Mal über ein Script geärgert.
Folgendes Beispiel hat beim Testen auf der Shell wunderbar funktioniert
C:\tmp\test>for /f %f in ('dir *.txt') DO echo %f
Datei nicht gefunden
C:\tmp\test>echo Volume
Volume
C:\tmp\test>echo Volumeseriennummer:
Volumeseriennummer:
C:\tmp\test>echo Verzeichnis
Verzeichnis
Das macht Output mit dem Befehl zwischen den einfachen Anführungszeichen.
Also ab in ein Script damit und nochmal ausgeführt
C:\tmp\test>test
Was? Kein Output – sollte das Script nicht das gleiche tun, wie wenn die Zeile auf der Shell geschrieben geht?
Eine kleine Änderung im Script – %f wird mit %%f ersetzt:
for /f %%f in ('dir *.txt') DO echo %%f
Und jetzt kommt aus dem Script das gleiche raus, wie vorher auf der Commandline:
C:\tmp\test>test
C:\tmp\test>for /F %f in ('dir *.txt') DO echo %f
Datei nicht gefunden
C:\tmp\test>echo Volume
Volume
C:\tmp\test>echo Volumeseriennummer:
Volumeseriennummer:
C:\tmp\test>echo Verzeichnis
Verzeichnis

Schreibe einen Kommentar