【问题标题】:Batch file help (for statement)批处理文件帮助(用于语句)
【发布时间】:2011-05-13 18:09:14
【问题描述】:

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

file1.txt:

notepad
wordpad

所以它会启动:

start notepad
start wordpad

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

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

任何帮助将不胜感激

【问题讨论】:

标签: windows batch-file for-loop


【解决方案1】:

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

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] 写字板

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

【讨论】:

    猜你喜欢
    • 2014-10-03
    • 2011-03-09
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 2017-08-01
    相关资源
    最近更新 更多