0

好的,所以我正在创建一个简单的批处理文件,该文件旨在从文本文件中获取行,然后将输出通过管道传输到 wget 并下载它们(使用 Windows 端口)。我遇到的唯一问题是将数字添加到 for 循环中的数字。

SETLOCAL ENABLEDELAYEDEXPANSION
set sum=0
%ECHO% "Reading %1... "

for /f "eol=# tokens=* delims= " %%a in (%1) do ( 
    echo %%a | bin\wget -q %%a
    SET /a sum=%sum%+1
    echo Hit:%sum% %%a 
)

%ECHO% "Done!"
ENDLOCAL

它被称为'call read_line.bat myfile.txt

是的,我知道我可以只使用 wget -i myfile.txt,但我宁愿不使用它并控制其他事情(输出和明显的 HIT:函数)

4

1 回答 1

2

尝试使用!而不是%forsum以真正使用延迟扩展:

for /f "eol=# tokens=* delims= " %%a in (%1) do ( 
  echo %%a | bin\wget -q %%a
  SET /a sum=!sum!+1
  echo Hit:!sum! %%a 
)
于 2013-03-15T16:39:28.070 回答