Войти

Показать полную графическую версию : Не срабатывает for.. в джобе из SQL-сервера


pva
03-04-2008, 07:57
сделал джоб(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
03-04-2008, 17:26
pva, а если в начале батника вставить:
SetLocal EnableExtensions EnableDelayedExpansion
и использовать "!" вместо "%" при обращении к переменным:
for /f "usebackq skip=%3 delims=*" %%i in (`!dir_cmd!`) do @erase %2\%%i
?

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




© OSzone.net 2001-2012