2

У меня есть пакетный скрипт с такой строкой:

del "%TARGET_DIR%\packages.config"

Но если packages.config не существует в целевом каталоге, это выдает ошибку.

Не удалось найти \\...\packages.config

Существует ли параметр командной строки del , который предотвратит выдачу ошибки, целевой файл не найден? Я открыт для использования if exists если мне нужно, но у меня есть ряд похожих команд, и я бы хотел избежать необходимости делать это для каждого отдельного файла, который я могу удалить.

2 ответа2

3

Вы могли бы функционализировать свои вызовы IF EXISTS/DEL чтобы код не повторялся тонну; для выполнения ложных функций в DOS, посмотрите это.

Они используют операторы GOTO для реализации функций, но они должны работать так же.

С этой страницы:

Пример функции:

:myDosFunc    - here starts my function identified by it`s label
echo. here the myDosFunc function is executing a group of commands
echo. it could do a lot of things
GOTO:EOF

Вызов функции:

call:myDosFunc

Для использования на ЕСЛИ СУЩЕСТВУЕТ, посмотрите это.

2

Вы можете перенаправить stderr на ноль:

del "%TARGET_DIR%\packages.config" 2> nul

ссылка

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .