Ich habe den folgenden Code:Windows-Batch-Variable in Variable mit Array
setlocal enableDelayedExpansion
call :Retrieve Test
goto eof
:Retrieve <StringVar>
set /a Count_%1=2
Daraus ergibt sich (in Befehlsfenster mit Echo auf):
set /a Count_Test=2
echo !Count_%1!
Daraus ergibt sich:
set "file_%1[!Count_%1!]=*.txt"
Dies führt (im Befehlsfenster mit Echo ein):
set "file_Test[!Count_Test!]=*.txt"
Jedoch sollte es sein:
set "file_Test[2]=*.txt"
set file_%1[
Ergebnisse in:
Umgebungsvariable Datei Test [nicht
definiertgoto eof
:eof
Weiß jemand, was ich falsch mache ?! ? kompletter Code unten:
setlocal enableDelayedExpansion
call :Retrieve Test
goto eof
:Retrieve <StringVar>
set /a Count_%1=2
echo !Count_%1!
set "file_%1[!Count_%1!]=*.txt"
set file_%1[
goto eof
:eof
Sorry für meine Änderungen, ich bin neu in diesem ...
Meine Frage nach der Linie ist: set "file_%1[!Count_%1!]=*.txt"
, der Rest der Linien OK und eine Probe meines ursprüngliches Skript.
Meine Frage ist über die Zeile: set "file_% 1 [! Count_% 1!] = *. Txt", der Rest der Zeilen sind in Ordnung und ein Beispiel für mein Original-Skript. –
[Die Windows-Eingabeaufforderung ist * NOT * eine DOS-Eingabeaufforderung!] (Https://scalibq.wordpress.com/2012/05/23/the-windows-command-prompt-is-not-a-dos-prompt/) – aschipfl
Fein ... aber weißt du was ich meine? –