Windows批处理文件 - 管道到FIND

Chr*_*row 6 windows batch-file

尝试测试字符串以查看它是否包含Windows批处理文件中的子字符串.

这是我到目前为止:

echo %1 | find "message"
if %errorlevel% == 0 echo contains string
Run Code Online (Sandbox Code Playgroud)

这个命令行输出是(%1的内容是"messages\Message.js"):

messages\Message.js
contains string

我遇到的问题是,我能让这个工作的唯一方法是使用确切的行:echo %1 | find "js".

如何在不回显文件路径的情况下执行此操作?当我删除时echo,操作系统会尝试打开该文件.我希望将文件路径保存到变量,但我尝试过没有任何工作,我总是得到一个空变量.

Pih*_*han 5

    echo %1 | find "message" > NUL
    if %errorlevel% == 0 echo contains string
Run Code Online (Sandbox Code Playgroud)