批处理脚本用于查看文本文件和回显文本(如果它包含字符)

时间:2017-09-20 10:25:03

标签: batch-file

我正在尝试创建一个可以查看文本文件的批处理文件。 在文本文件中,有一些文本行。我需要遍历每一行,如果它包含字符\\,那么我想回显整行。

我目前有以下内容,但它不起作用。结果是所有行都会被回显,而不是那些有\\的行。

for /f "delims=*" %%A in (list.txt) do (
    if NOT "%%A"=="%%A:\\=%" (
        echo %%A
    )
)

任何人都可以告知发生了什么?

1 个答案:

答案 0 :(得分:0)

MC ND使用find的{​​{3}}肯定是您的任务最简单的解决方案。无论如何,我想专注于你的方法。

您不能将suggestionsub-string replacement变量引用一起使用。您需要将%%A存储在普通环境变量中并在那里应用子字符串替换。但是,由于您位于代码块(for循环)内,因此必须使用for。这是它的工作原理:

setlocal EnableDelayedExpansion
for /F "delims=*" %%A in (list.txt) do (
    set "TEST=%%A"
    if NOT "!TEST!"=="!TEST:\\=!" (
        echo/!TEST!
    )
)
endlocal