2016-12-15 4 views
0

У меня есть сценарий, который планируется запускать каждую ночь в среде Windows, что в основном служит для очистки журналов в течение 30 дней.Изменение выходного файла .bat

Когда сценарий не находит журналы более 30 дней, он возвращает сообщение об ошибке: «ОШИБКА: Нет файлов, найденных по заданным критериям поиска»

Мой вопрос в том, можно ли изменить это сообщение или даже остановить сценарий от возврата этого сообщения, когда он не находит журналы старше 30 дней?

+0

Я считаю, что это возможно, но это трудно понять, не видя кода – Andreas

+0

У вас есть контроль над содержимым скрипта, чтобы вы могли его редактировать? Или вы контролируете только выполнение? –

+0

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

ответ

0

Если у вас есть контроль над исполнением только сценария (и не может изменить код), вы можете перенаправить его ERROR выход (STDERR) в nul со следующим синтаксисом

script.bat 2> nul 

Если вы хотите отключить (STDOUT и STDERR), используйте

script.bat > nul 2>&1 

Обратите внимание, что эти параметры не рекомендуются. Вы должны обработать результат и действовать соответствующим образом.

EDIT: Я вижу, вы добавили код.
В этом случае вам нужно перенаправить вывод команды forfiles.
Вы можете сделать это так же, как вы это делаете для сценария:

forfiles ...options... 2> nul 

или

forfiles ...options... > nul 2>&1 

EDIT 2: Я добавив предложение @ Squashman замечания:
You может поместить все парные команды FORFILES в блок кода, окруженный скобками, а затем просто иметь одну переадресацию для стандартной ошибки.

Надеюсь, это поможет.

+0

Я добавил код сценария. – j08rebelo

+0

Я обновил свой ответ. Надеюсь, это поможет. –

+1

Вы можете поместить все парные команды FORFILES в кодовый блок, окруженный скобками, а затем просто иметь одну переадресацию для стандартной ошибки. – Squashman

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