批处理文件帮助(用于语句)

时间:2011-05-13 18:09:14

标签: windows batch-file for-loop

我在批处理文件中执行此语句时需要帮助它将启动文本文件的所有行,例如。

FILE1.TXT:

notepad
wordpad

所以它会启动:

start notepad
start wordpad

虽然我希望能够指定它将执行哪一行,而不是全部执行它们(目前它正在执行)

for /f "delims=|" %%i in (file1.txt) do @start "x" %%i

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

如果您知道要运行的行号,可以使用以下内容:

for /f "tokens=2* delims=]" %%I in ( ' find /V /N "" file1.txt ^| findstr /B /L "[1]" ' ) do @start "x" %%I

find / V / N“”file1.txt - 显示file1.txt中不是“”的所有行(所以基本上任何非空白/空/空行),以及将[#]形式的数字附加到该行。此命令将输出:

[1]记事本

[2] wordpad

findstr / B / L“[1]” - 我们现在利用行号来提取正确的命令。 “/ B”在行的开头查找字符串。 “/ L”是字面搜索。在这个例子中,我们匹配第1行,它将返回“notepad”作为%% I