cmd проверка существования файла

Второй способ использования команды IF — это проверка существования заданного файла. Синтаксис для этого случая имеет вид:

IF [NOT] EXIST файл команда1 [ELSE команда2]

Условие считается истинным, если указанный файл существует. Кавычки для имени файла не требуются. Приведем пример командного файла, в котором с помощью такого варианта команды IF проверяется наличие файла, указанного в качестве параметра командной строки.

IF -%1==- GOTO NoFileSpecified

IF NOT EXIST %1 GOTO FileNotExist

:: Вывод сообщения о найденном файле

ECHO Файл ‘%1’ найден.

:: Файл запущен без параметров

ECHO В командной строке не указано имя файла.

:: Параметр командной строки задан, но файл не найден

ECHO Файл ‘%1’ не найден.

Аналогично файлам команда IF позволяет проверить наличие в системе определенной переменной среды:

IF DEFINED переменная команда1 [ELSE команда2]

Здесь условие DEFINED применяется подобно условию EXISTS наличия заданного файла, но принимает в качестве аргумента имя переменной среды и возвращает истинное значение, если эта переменная определена. Например:

IF DEFINED MyVar GOTO :VarExists

ECHO Переменная MyVar не определена

ECHO Переменная MyVar определена,

ECHO ее значение равно %MyVar%

Еще один способ использования команды IF — это проверка кода завершения (кода выхода) предыдущей команды. Синтаксис для IF в этом случае имеет следующий вид:

IF [NOT] ERRORLEVEL число команда1 [ELSE команда2]

Здесь условие считается истинным, если последняя запущенная команда или программа завершилась с кодом возврата, равным либо превышающим указанное число.

Рассмотрим командный файл, который копирует файл my.txt на диск C: без вывода на экран сообщений о копировании, а в случае возникновения какой-либо ошибки выдает предупреждение:

XCOPY my.txt C: > NUL

:: Проверка кода завершения копирования

IF ERRORLEVEL 1 GOTO ErrOccurred

ECHO Копирование выполнено без ошибок.

ECHO При выполнении команды XCOPY возникла ошибка!

В операторе IF ERRORLEVEL … можно также применять операторы сравнения чисел, приведенные в табл. 2. Например:

IF ERRORLEVEL LEQ 1 GOTO Case1

Замечание. Иногда более удобным для работы с кодами завершения программ может оказаться использование переменной %ERRORLEVEL%. (строковое представление текущего значения кода ошибки ERRORLEVEL).

Доброго времени!
Скриптовыми языками занимаюсь очень редко, по этому возник вопрос:
Имеется скрипт для копирования файлов в зависимости от разрядности ОС.

Подскажите, как заставить скрипт проверить наличие папки, т.е. если нет папки — копировать в зависимости от разрядности, а если есть, то завершить скрипт.

синтаксис: echo [сообщение]
пример: echo file yes exist

описание: if exist [путь] echo [сообщение, если файл существует]
пример: if exist «a:*.txt» echo file yes exist

описание: if not exist [путь] echo [сообщение, если файл не существует]
пример: if not exist «a:*.txt» echo file not exist

С помощью союза “&”(и) можно объединить команды, то тогда вы
получите положительный ответ или отрицательный ответ.

пример:
if exist «a:*.txt» echo file yes exist & if not exist «a:*.txt» echo file not exist

результат: если файл существует, то сообщение будет ” file yes exist ”, а
если файл не существует, то сообщение будет ” file yes exist ”.
Если путь содержит пробелы, то следует заключить его в кавычки.
Пример: “D:Program FilesInternet Exploreriexplore.exe”

Если путь содержит пробелы, то следует заключить его в кавычки.
Пример: “D:Program FilesInternet Exploreriexplore.exe”

Пример вашего задания:

синтаксис: copy [путь] [путь куда копировать]

Оцените статью