2016-08-10 1 views
1

Ich habe eine einfache for-Schleife und möchte einen Befehl für jede Datei in dir in einem Skript unten ausführen. Wenn ich es ausführe, bekomme ich diesen Fehler "INST_PATH \ bin \ testBin.exe war zu diesem Zeitpunkt unerwartet."Wie expand env var in Befehl in for-Schleife

Ich kann es sehen kann nicht erweitern die env var. Es scheint auch, als gäbe es Probleme bei der Erweiterung %% i.

Auch wenn ich einen Standardwert für eine Variable IF geben möchte, nicht an der Befehlszeile zur Verfügung gestellt, wie mache ich das? Für z.B. Wenn der Benutzer das Dir nicht gibt und ich es als aktuelles Verzeichnis annehmen möchte, wie mache ich das im Skript?

Vielen Dank im Voraus für Ihre Hilfe.

Antwort

1

Zwei Fragen, zwei Antworten:

in Batch-Dateien, haben Sie doppelte Prozentzeichen für die für Variablen verwenden:

for %%i in (*.*) do echo %%i 

einen Standardwert festgelegt, ob die Variable leer ist:

if "%1%=="" (set "dir=Z:\DefaultDir") else (set "dir=%1") 

oder alternativ:

set dir=%1 
if not defined dir set "dir=Z:\DefaultDir" 
Verwandte Themen