2011-01-28 69 views
1

这一定很简单。不幸的是,我也是Batch FOR,CALL:为什么我不能将令牌传递给我的子程序?

“Filelist.txt中”是的输出:DIR/B

此代码的工作:在“Filelist.txt中”每行,预期该行的呼应。

for /F "tokens=*" %%A in (filelist.txt) do echo %%A 

此代码不起作用:在“Filelist.txt中”每行中,只有VAR名称为“%A”的呼应。

for /F "tokens=*" %%A in (filelist.txt) do call :sub1 
goto :eof 
:sub1 
echo %%A 
goto :eof 

我在做什么错?提前致谢。

回答

4

尝试:

@echo off 
for /F "tokens=*" %%A in (filelist.txt) do call :sub1 %%A 
goto :eof 
:sub1 
echo %1 
goto :eof 

你需要你的论点(%%A)传递给子程序(arg guide),然后你的子程序内,您可以通过位置(%1)访问它。

+0

谢谢Rudu!就是这样。摇滚! – user75900 2011-01-28 18:46:26

相关问题