Скрипт оболочки Windows: не удается заставить строку работать в подпрограмме - PullRequest
0 голосов
/ 10 ноября 2009

Приветствую уважаемые эксперты!

Не могли бы вы дать мне совет, как справиться с проблемой:

@echo off
cls

setlocal enabledelayedexpansion

path=%CD%;%path% 

set NumberOfPages=553
rem set /A MaxFileIndex=%Counter% - 1
set MaxFileIndex=1

del Output.txt

for /l %%i in (0,1,%MaxFileIndex%) do call :GenerateFileList %%i
goto :eof


::::::::::::::::::::::::::
:GenerateFileList
::::::::::::::::::::::::::
setlocal enabledelayedexpansion

set CurrentFileName="File(%1).txt"
echo !CurrentFileName:"=! > Output.txt
goto :eof

::::::::::::::::::::::::::
:eof
::::::::::::::::::::::::::
endlocal

Этот код отражается на экране вместо записи в "ExtractedLinks.txt". В чем здесь проблема?

1 Ответ

0 голосов
/ 10 ноября 2009

Полагаю, вы имеете в виду Output.txt, а не ExtractedLinks.txt:

set c=!CurrentFileName:"=!
echo %c% > Output.txt

Кроме того, если вы не делаете что-то еще в цикле for, вы, вероятно, захотите добавить вместо перезаписи:

echo %c% >> Output.txt

И если вы действительно хотите, чтобы имя файла было ExtractedLinks.txt, просто измените его.

echo %c% >> ExtractedLinks.txt
...