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

  1. Убей мое программное обеспечение IP-камеры
  2. Подождите несколько секунд, чтобы убедиться, что программное обеспечение выключено
  3. Удалить архивные (видео) файлы, кроме одного файла (Sources.SRCS.lxa)
  4. Снова подождите, чтобы убедиться, что все файлы были удалены.
  5. Перезапустите программное обеспечение IP-камеры
  6. Закройте окно пакета

Я думаю, что я близок, но я был бы очень признателен за "про глаза", чтобы заставить его работать правильно. Вот где я до сих пор (что я "исправил" вместе после небольшого легкого чтения, но в этот момент я застрял):

@echo off
taskkill /f /im DVRClient.exe
timeout 10
for %%i in (N:\TRENDnet\"TRENDnetVIEW Pro"\"Archive Files"\*) do if not %%~nxi == Sources.SRCS.lxa del %%i
timeout 20
C:\Program Files (x86)\TRENDnet\TRENDnetVIEW Pro\DVRClient.exe
exit

Любая помощь будет оценена!

Спасибо Эд

1 ответ1

0

Принцип с кавычками заключается в том, что весь путь (не частичные каталоги) должен быть в кавычках.
Поэтому конвертировать

N:\TRENDnet\"TRENDnetVIEW Pro"\"Archive Files"\*

в

"N:\TRENDnet\TRENDnetVIEW Pro\Archive Files\*"

А также конвертировать

C:\Program Files (x86)\TRENDnet\TRENDnetVIEW Pro\DVRClient.exe

в

"C:\Program Files (x86)\TRENDnet\TRENDnetVIEW Pro\DVRClient.exe"

Наконец, вы можете рассмотреть возможность окружения всех вхождений переменной %%i кавычками: "%%i" поэтому, если в %%i было имя файла с пробелом, ваша обработка не завершится ошибкой.

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