Я боролся с этим некоторое время сейчас, и я не могу понять, почему.
У меня есть этот командный файл:
@echo on
setlocal enabledelayedexpansion
for /F %%x in (FileList.txt) do (
for /L %%i in (1,1,16) do (
if %%i LSS 10 (set ctr=0%%i) else (set ctr=%%i)
echo !ctr!
set target = \\Server-!ctr! password /user:domain\username
echo %target%
echo net use z: %target%
echo copy %%x "z:%%~pnx" /Y
echo net use z: /delete
)
)
Моя переменная ctr устанавливается надлежащим образом, однако, когда я пытаюсь объединить ее, все, что я получаю, это: \Server-!СУУ! пароль / пользователь: домен \ имя пользователя. Я пытался %!СУУ!%,% ctr%, %% ctr, %% ctr %%, все для того, чтобы он просто возвращал буквенные символы, а не значение. Достаточно интересно, когда я вынимаю команду set, мое эхо!СУУ! действительно возвращает значение. Я также попытался заключить в кавычки заданные параметры - с теми же результатами, только кавычки вокруг него.
Что мне не хватает?