2011-01-28 8 views
1

これは非常に単純でなければなりません。残念ながら、そうI.はバッチ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 

あなたはサブルーチン(arg guide)にご引数(%%A)を渡す必要があり、その後、あなたのサブルーチン内で使用すると、位置(%1)でアクセスすることができます。

+0

ありがとうRudu!それはそれだった。ロックオン! – user75900

+0

*飛行を打ち破るv * – Rudu

関連する問題