Мне нужно запустить утилиту только в том случае, если существует определенный файл. Как это сделать в пакете Windows?
if exist <insert file name here> (
rem file exists
) else (
rem file doesn't exist
)
Или на одной строке (если требуется только одно действие):
if exist <insert file name here> <action>
например, это открывает блокнот на autoexec.bat, если файл существует:
if exist c:\autoexec.bat notepad c:\autoexec.bat
C:\>help if
Выполняет условную обработку в пакетных программах.
IF [NOT] Команда номера ERRORLEVEL
IF [NOT] string1 == строка2 команда
ЕСЛИ [НЕ] EXIST имя файла
Попробуйте что-то вроде следующего примера, приведенного в выводе IF /?
в Windows XP:
IF EXIST filename. ( del filename. ) ELSE ( echo filename. missing. )
Вы также можете проверить отсутствующий файл с помощью IF NOT EXIST
.
Команда IF
достаточно мощная. Результат IF /?
будет вознаграждать внимательное чтение. В этом случае попробуйте параметр /?
для многих других встроенных команд для большого количества скрытых драгоценных камней.
IF
встроенной в CMD.EXE, в которой были эти точки. Я не знаю, почему они их включили, это кажется противоречивым. Конечно, ключевое слово EXIST
самом деле нуждается в действительном имени файла, которое может быть полностью определено. Другие команды используют текстовое filename.
[drive:][path]filename
вместо текстового filename.
используйте здесь, что, очевидно, яснее.
else
допустимо, смотрите "если /?" ... "Предложение ELSE должно встречаться в той же строке, что и команда после IF. Например: [... многочисленные примеры использования ...]"