技術上,@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