我有以下代碼:視窗批次變量與陣列
setlocal enableDelayedExpansion
call :Retrieve Test
goto eof
:Retrieve <StringVar>
set /a Count_%1=2
這導致(在命令窗口與回波上):
set /a Count_Test=2
echo !Count_%1!
這導致:
set "file_%1[!Count_%1!]=*.txt"
此結果(在帶有回顯的命令窗口中):
set "file_Test[!Count_Test!]=*.txt"
但是,它應該是:
set "file_Test[2]=*.txt"
set file_%1[
結果:
環境變量文件測試[未定義
goto eof
:eof
有誰知道我在做什麼錯? ?下面 完整代碼:
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
對不起,我的編輯,我是新來這個...
我的問題是關於行:set "file_%1[!Count_%1!]=*.txt"
,該行的其餘部分是OK和樣品我原始腳本。
我的問題是關於行:設置「file_%1 [!Count_%1!] = *。txt」,其餘的行是確定的,我的原始腳本的示例。 –
[Windows命令提示符不是* DOS提示符!](https://scalibq.wordpress.com/2012/05/23/the-windows-command-prompt-is-not-a-dos-prompt/ ) – aschipfl
好...但你知道我的意思嗎? –