Назад | Перейти на главную страницу

очистка файлов с использованием forfiles в пакете и запуск этого пакета из задачи

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

forfiles -s -m * .bak -d -4 -c "cmd / c del @path"

Этот пакетный файл удаляет все файлы BAK в том же каталоге, что и пакет, которые старше 4 дней. Мне не удалось заставить файлы forfiles работать из другого каталога, поэтому командный файл работает только в том же каталоге, что и мои резервные копии sql. Если кто-нибудь знает, как отредактировать мой командный файл, чтобы я мог вызывать его из моего общего каталога командных файлов, а не из папки резервных копий sql, эта информация была бы очень признательна.

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

Надеюсь, кто-то может помочь! На этом компьютере работает sql express, поэтому я не могу использовать планы обслуживания, так что это мой обходной путь. Если есть более простой способ сделать то, что я пытаюсь сделать, дайте мне знать.

Вы пробовали использовать /p искать другой путь?

forfiles /p "d:\path\to\sql\backups" /s /m *.bak /d -4 /c "cmd /c del @path"

Кроме того, сравните учетную запись пользователя, с которой выполняется задача, с параметрами безопасности в папке резервных копий SQL.