如何将我从批处理文件中的文件读取的参数传递给同一批处理文件中的程序调用?

时间:2011-08-08 10:41:52

标签: parameters batch-file

在我的批处理程序中,可以成功读取这样的文件:

for /f %%a in (crc.txt) do (
@echo CRC read in from file is %%a now
)

其中%%a打印为0xCD0134DE

现在我想将%%a传入同一个批处理文件中的C程序调用:

../myprogram %%a

问题是myprogram将%%a参数解释为'%a'(我知道这一点,因为我会在myprogram开始时打印出来。我试过了

../myprogram %a         //program thinks the argument is 'a'
../myprogram a          //program thinks the argument is 'a'

即我没有传递0xCD0134DE的值。

1 个答案:

答案 0 :(得分:1)

试试这个:

for /f %%a in (crc.txt) do (
    @echo CRC read in from file is %%a now
    ../myprogram %%a
)

%%a仅适用于for循环。如果需要在整个脚本中使用值,请设置本地环境变量以保存值:

for /f %%a in (crc.txt) do (
    set CRC=%%a
)
@echo CRC read in from file is %CRC% now