windows - 为什么这段代码说回声已关闭?

标签 windows batch-file cmd

这段代码有什么问题?它说 ECHO 已关闭

@ECHO off
set /p pattern=Enter id:
findstr %pattern% .\a.txt > result
if %errorlevel%==0 (
set var2= <result
echo %var2%
set var1=%var2:~5,3%
echo %var1% > test.txt
echo %var1%
) else (
echo error
)
del result
pause

感谢任何帮助。

最佳答案

如果您的变量在某处为空,则它与单独使用命令“echo”一样,只会打印 echo 的状态。

为避免这种情况,您应该将所有 echo 命令替换为如下内容:

echo var2: %var2%

这样,如果 %var2% 为空,它只会打印“echo var2:”而不是“echo off”。

关于windows - 为什么这段代码说回声已关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14334850/

相关文章:

c++ - 如何将列表控件项标记为选中?

node.js - 如何在 NodeJS 中检测 "file handle leak"?

batch-file - echo 与管道一起使用时会增加空间

c# - ASP.net c# 未知错误 (0xfffffffe)

bash - "' C :\Program ' is not recognized as an internal or external command" error when using Azure CLI

c++ - 使用 MinGW 编译时链接 GLEW 库

windows - 使用批处理脚本进行字符串解析

javascript - 如何使用 javascript 运行 .bat 文件

windows - 32 位 cmd.exe 如何在 Windows Server 2003 x64 上启动 64 位 cmd.exe?

windows - 并行执行 shell 命令但限制作业(没有 Cygwin 的 Windows)