CMD/BAT - Не срабатывает for.. в джобе из SQL-сервера

Ответить
Аватара пользователя
pva

CMD/BAT - Не срабатывает for.. в джобе из SQL-сервера

Сообщение pva »

сделал джоб(job) для архивирования бакапов и держания какого-то набора их версий. Последним шагом стоит запуск батника. Стал настраивать их чтобы работали от специального доменного пользователя (в SQL-manager-е) - стала выходить странная ошибка в батнике.



Код:

Код: Выделить всё

на строчку:
set dir_cmd=dir /b /o-d %2\%1" *.rar"
for /f "usebackq skip=%3 delims=*" %%i in (`%dir_cmd%`) do @erase %2\%%i
выходит:
E:\Backup>for /F "usebackq skip=7 delims=*" %i in (`dir /b /o-d "\\sector\backup\hotel\perm *.rar"`) do @erase "\\sector\backup\hotel\%i" 
"dir /b /o-d "\\sector\backup\hotel\perm *.rar"" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

причём когда заходишь от этого пользователя и запускаешь этот батник, всё отрабатывает. Что такое может быть?
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - Не срабатывает for.. в джобе из SQL-сервера

Сообщение Petya V4sechkin »

pva, а если в начале батника вставить:



Код:

Код: Выделить всё

SetLocal EnableExtensions EnableDelayedExpansion

и использовать "!" вместо "%" при обращении к переменным:



Код:

Код: Выделить всё

for /f "usebackq skip=%3 delims=*" %%i in (`!dir_cmd!`) do @erase %2\%%i

?
Аватара пользователя
pva

Re: CMD/BAT - Не срабатывает for.. в джобе из SQL-сервера

Сообщение pva »

Короче, проблема решилась страным образом. Оказалось что на серваке висит 2 процесса ntvdm, которые грузят процессор. Убили в пятницу. За выходные всё отработало без проблем. я на всякий пожарный воткнул строчку про enableExtensions, посмотрим чё будет
Ответить

Вернуться в «Скриптовые языки администрирования Windows»