从txt文件读取命令的Windows批处理文件

时间:2009-11-01 21:42:59

标签: windows batch-file

我有这个test.txt文件,其中包含以下内容:

@echo off
wget -q http://subs.ro/get/21518
move 21518 %userprofile%/Desktop/21518.zip
%userprofile%/Desktop/21518.zip

此文件由javascript生成,内容会保持更改。 我有以下text.bat文件:

for /F "eol=; tokens=1* delims=" %%i in ( test.txt ) do %%i
问题是链接到了 无法识别桌面,因为无法识别系统变量%userprofile%,将其粘贴为txt字符串。 我正在使用此设置,因为我想将bat文件转换为exe并创建一个在后台执行所有操作的不可见应用程序。

2 个答案:

答案 0 :(得分:2)

为什么不将文件重命名为test.cmd并直接运行?

但以下情况应该有效:

@echo off
for /F "eol=; tokens=1* delims=" %%i in ( test.txt ) do call :run %%i
goto :eof
:run
%*
goto :eof

这里的原因是for本身不会在其变量中扩展环境变量。可能是批次中唯一的情况就是这种情况。所以我只是将这一行交给一个子程序(run),它为我执行。

答案 1 :(得分:0)

将test.txt重命名为test.bat并运行它。