bat中type %temppcie.txt% | find "!%1101!>" > nul 报语法不正确 怎么改
时间: 2024-10-13 19:03:29 浏览: 22
BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)
您的 `.bat` 脚本中 `type %temppcie.txt% | find "!%1101!>" > nul` 的确有语法错误。`find` 命令需要的是两个参数,第一个是要搜索的目标,第二个是可以接受的错误字符数(如果找到的话)。在您提供的例子中,`!%1101!>` 是一个单个字符串,它不是一个有效的`find`参数格式。
如果你想要在文本文件中查找特定的字符串(例如,查找数字序列`1101`),你可以稍微修改一下。假设你想直接搜索字符串`1101`而不管其位置,可以去掉感叹号并且不需要设置错误字符数。以下是正确的命令行:
```batch
@echo off
setlocal enabledelayedexpansion
set "filename=temppcie.txt"
set "search_string=1101"
REM 检查文件是否存在并搜索字符串
if exist "%filename%" (
type %filename% | find /i "%search_string%" > nul
if errorlevel 1 (
echo 字符串 "%search_string%" 不在 "%filename%" 中
) else (
echo 字符串 "%search_string%" 发现于 "%filename%"
)
) else (
echo 文件 "%filename%" 不存在
)
endlocal
```
这里的 `/i` 参数是让`find`命令忽略大小写进行搜索。
阅读全文