技术上,@Paul答案中提供的示例按预期执行,但是如果您打算使用比Echo命令更复杂的任何操作,则需要在将其应用于自己的情况之前了解所发生的情况。 (我也有自己的答案的评论中提到这一点,但我没有足够的声望值。)
鉴于命令行:
Command1 && Command2 || Command3
如果COMMAND1失败,那么,指令代码会被执行。
如果Command1成功,那么Command2将被执行。 但是 ...如果Command2失败,Command3将也被执行。
下面展示了我已经链接在一起的三个FIND命令,这些命令用于搜索包含大写字母关键字的文件并更改相应查找字符串的大小写。请注意,最后一个示例执行全部三个命令。
C:\Temp>find "select" test.txt && find "FROM" test.txt || find "WHERE" test.txt
---------- TEST.TXT
---------- TEST.TXT
WHERE (
C:\Temp>find "SELECT" test.txt && find "FROM" test.txt || find "WHERE" test.txt
---------- TEST.TXT
SELECT dbo.SalProductClass.ProductClass ,
---------- TEST.TXT
FROM dbo.SalProductClass
C:\Temp>find "SELECT" test.txt && find "from" test.txt || find "WHERE" test.txt
---------- TEST.TXT
SELECT dbo.SalProductClass.ProductClass ,
---------- TEST.TXT
---------- TEST.TXT
WHERE (
C:\Temp>
这就是说,由于原来的海报不想echo命令的命令2他的批处理文件可以被改写为:
@echo off
:main
FC g:\test.accdb g:\test21.accdb >nul && echo Files are same size || goto different size
pause
exit
:different size
copy g:\test.accdb g:\test21.accdb
pause
EXIT
使用管道符号给予的'echo'输出到'comp':'echo n | comp ...' – Stephan
作为替代,你可以使用'fc',它不要求进一步的文件进行比较。 – Stephan
'echo n | comp':test.accdb g:\ test21.accdb> nul 2>&1'其中'> nul 2>&1'会禁止所有的'comp'输出(注意_Compare more files?_问题在'STDERR'中) 。而且,'echo n |'会减少它... – JosefZ