我尝试在.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