Рассмотрим это как содержимое файла .cmd
:
@echo off
set test1=hello
echo 0 %test1%
for %%F in ( *.txt ) do (
set test2=%%F
echo 1 %test1%
echo 2 %test2%
echo 3 %%F
)
pause
Когда я запускаю этот скрипт в Win 7 из папки, содержащей a.txt и b.txt в качестве единственных файлов .txt, я получаю это:
0 hello
1 hello
2
3 a.txt
1 hello
2
3 b.txt
Press any key to continue . . .
Все "успешные" команды эха (начиная с 0, 1 и 3) являются доказательством того, что эхо и переменный синтаксис верны. "Неудачная" команда эха (2) может быть только результатом неудачной команды SET. Как? Зачем? Какой синтаксис команды SET мне нужен, чтобы переменная test2
назначена правильно, а выходные строки, начинающиеся с 2, были идентичны тем, которые начинаются с 3?