2015-08-01 1 views
0

мне нужно, чтобы сделать партию, которая выглядит для файлаокна CMD партии, если файл уже существует запустить пакет

и как только он существует, то он будет работать под управлением Windows CMD партии

я попытался код ниже, но его не работает

@ECHO off 
IF EXIST C:\file.txt CALL batch.cmd 
+1

Как это потерпеть неудачу? Как написано, это хорошо, если файлы существуют там, где они должны быть. – foxidrive

ответ

-1

Если вы хотите писать код все строки, вы должны сделать это так

@ECHO off & IF EXIST C:\file.txt CALL batch.cmd

+0

Вы правы, хотя текст был не совсем прав и не отображался правильно, но он был на двух строках. – foxidrive

+0

Одна осторожность. Если вы запустите это в Batch Script, вам нужно будет удвоить амперсанды: «&&». Конечно, если вы сделаете это из командной строки, то один будет работать нормально. – Leptonator

+0

@Leptonator: единственный '' 'отлично в batchscript. '&&' - это совершенно другая история (она работает как «если предыдущая команда была успешной»). Попробуйте 'dir existent.txt && echo yes' и' dir notexistent.txt && echo yes'. – Stephan

1

Я интерпретирую «и как только он существует ...» как «продолжаю искать и как только файл существует ...». Используйте цикл:

@echo off 
look: 
timeout 1 >nul 
IF NOT EXIST C:\file.txt goto :look 
call batch.cmd 

Примечание: никогда не запускать цикл без задержки (timeout здесь), чтобы избежать высокой нагрузки на процессор)

+0

Это очень хороший момент. Когда файл поступает с FTP/SFTP-сервера, например, это было бы замечательно для предупреждения SMTP. – Leptonator

Смежные вопросы