Batch file 批处理文件中带括号的Echo命令

Batch file 批处理文件中带括号的Echo命令,batch-file,echo,Batch File,Echo,开括号在这个命令中起什么作用 为什么没有闭括号 >> datatest.csv.TEMP echo(!modified! 这是大约九年前一次讨论的结果 您的代码将重定向的值!修改到datatest.csv.TEMP,或者如果变量为空,它将在该文件中打印一个空行。根据echo/?,显示空行的正式方法是使用echo。。但是,如果cmd.exe能够以某种方式找到没有扩展名为echo的可执行文件(例如,与脚本位于同一目录中的文件),则将使用该文件而不是常规的echo命令 考虑了一些替代ec

开括号在这个命令中起什么作用

为什么没有闭括号

>> datatest.csv.TEMP echo(!modified!

这是大约九年前一次讨论的结果

您的代码将重定向
的值!修改
到datatest.csv.TEMP,或者如果变量为空,它将在该文件中打印一个空行。根据
echo/?
,显示空行的正式方法是使用
echo。
。但是,如果cmd.exe能够以某种方式找到没有扩展名为
echo
的可执行文件(例如,与脚本位于同一目录中的文件),则将使用该文件而不是常规的
echo
命令

考虑了一些替代
echo.
的方法,包括
echo\
echo:
echo/
echo(
echo\
在一个名为
echo
的文件夹中包含一个与被回送的文件同名的文件的情况下被排除。
echo/
在要显示的字符串以
开头的情况下被排除,因为在这种情况下显示了帮助。
echo:
被排除在极少数使用字符串替换的情况下


最终,
echo(
)以失败告终,因为没有人能找到它不起作用的情况。(后来,有人猜测,
echo=
echo、
echo;
都可以安全使用,没有奇怪的副作用或边缘情况。但是,如果您试图显示文本字符串
/?
,则会显示
echo
的帮助。)


(代码)
不包括在内,因为它会被显示。

echo=
echo;
echo,
!modified!
扩展到
/?
时,所有操作都会失败。然后显示echo命令的帮助,谢谢你们的注释;我的答案也相应地更新了。我总是喜欢冒号,因为
>(
这个问题证明了这会激怒用户。(+1)