我嘗試在.cmd文件中創建一個循環。如果不存在,則退出+ cmd
如果test.txt不存在,那麼我將終止cmd進程。
@echo off
if not exists test.txt goto exit
但此代碼不起作用,我不知道如何每2秒做一個循環。
感謝您的幫助。
我嘗試在.cmd文件中創建一個循環。如果不存在,則退出+ cmd
如果test.txt不存在,那麼我將終止cmd進程。
@echo off
if not exists test.txt goto exit
但此代碼不起作用,我不知道如何每2秒做一個循環。
感謝您的幫助。
的命令被稱爲exist
,不存在:
if not exist test.txt goto :exit
echo file exists
:exit
關於你的循環:
我不是100%肯定,但我認爲沒有睡眠或等待在命令視窗。你可以谷歌睡找到一些免費軟件。另一種可能性是使用平:
ping localhost -n 3 >NUL
編輯:
的Windows Server 2003 Resource Kit Tools包含睡眠。
更多信息,請參閱here,太
如果您需要等待幾秒鐘,使用標準CHOICE命令。此示例代碼檢查文件是否每兩秒存在一次。循環結束,如果文件存在:
@ECHO OFF
:CHECKANDWAITLABEL
IF EXIST myfile.txt GOTO ENDLABEL
choice /C YN /N /T 2 /D Y /M "waiting two seconds..."
GOTO CHECKANDWAITLABEL
:ENDLABEL
也有一個'timeout'命令。但是'choice'和'timeout'在所有windows版本中都不可用。 「Ping」是。 – Stephan 2014-03-29 15:38:16
使用下列內容:在
if not exist "file name" goto exit
結果:
The system cannot find the batch label specified - exit
但是使用相同的命令沒有 「轉到」 的作品,具體如下:
if not exist "file name" exit
exit is a ke y字在DOS /命令提示符 - 這就是爲什麼轉到出口 不起作用。
如果不存在,使用「文件名」退出將您從該批處理文件中刪除。 如果您想要退出批處理文件,那很好。
如果您希望在退出之前執行其他一些指令,請將標籤更改爲:notfound,然後在退出之前可以找不到 並執行其他一些指令。
(這只是一個澄清的一個例子)
感謝非常mutch ...很大的幫助:-) – Sebastian 2010-06-22 09:11:45