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)