Ich bin sehr amateur auf Batch-Skript, versucht, eine Batch-Datei zu schreiben, um meine Arbeit zu beschleunigen. Aber jedes Mal, wenn ich diese Batch-Datei ausführe, verwendet es die Argumente der vorherigen Ausführung (anstelle der aktuellen Argumente)Batch-Datei verwendet die Argumente der vorherigen Ausführung
Ich kann die folgenden Zeilen verwenden, um den Fehler zu wiederholen.
REM source code begin
@echo off
set aim=%1
if "%aim%"=="download" (
set taskShortName=%2
set action=%3
echo %taskShortName%
echo %action%
echo download things
)
REM source code end
the output is:
C:\Users\Charles>dbg_arg.bat download 20160901 init
20160901
init
download things
C:\Users\Charles>dbg_arg.bat download 20160901 init
20160901
init
download things
C:\Users\Charles>dbg_arg.bat download 20160901 resume
20160901
init <----- ERROR
download things
C:\Users\Charles>dbg_arg.bat download 20160901 resume
20160901
resume
download things
C:\Users\Charles>
Irgendwelche Vorschläge, um das zu lösen?
Sie müssen [verzögerte Expansion] (http://ss64.com/nt/delayedexpansion.html), da Sie schreiben * und * Lesen die gleichen Variablen in einem parenthesised Block Code ... – aschipfl
Danke. Ich habe den Link gelesen. Es ist sehr hilfreich. – Chuck