У меня есть следующий пакетный скрипт, который должен генерировать имена файлов «на лету». К сожалению, я не могу заставить функцию присвоить возвращаемое значение filename
. Каждое эхо возвращает пустую строку.переменная не назначается в цикле for несмотря на EnableDelayedExpansion
@echo off
setlocal EnableDelayedExpansion
for /l %%i in (0,1,1) do (
call :create_filename %%i filename
echo(!%filename%!
)
pause
:create_filename
set "base=My test file"
if %1 GTR 0 set "base=%base% (%1)"
set "%~2=%base%.txt"
GOTO :eof
Черт. Так просто. Благодаря! –