Показать полную графическую версию : [решено] Добавление задания в планировщик задач, путь которого содержит пробелы
sunnykey
21-03-2012, 04:02
Здравствуйте. Сделал такой батник
@echo off
schtasks /delete /tn "cwp" /f
schtasks /create /ru "TEST\admin" /rp 12345 /sc daily /tn "cwp" /tr "C:\Documents and Settings\admin\script.vbs" /st 10:00:00
del %0 /f /q
Только планировщик заданий вместо "C:\Documents and Settings\admin\script.vbs" подставляет C:\Documents , а параметры лепит and Settings\admin\script.vbs
Как сделать так, чтобы он корректно воспринимал строку?
З.Ы. Пробовал через объявление переменной, всё равно такая же хрень.
З.З.Ы ОС - Win7 профессиональная (просьба предложения заменить C:\Documents and Settings\admin на c:\users\admin не предлагать)
Foreigner
21-03-2012, 06:49
sunnykey,
На локальном компьютере все работает как надо:
> schtasks /create /sc daily /tn "cwp" /tr "C:\Documents and Settings\dmitry\script.vbs" /st 10:00:00
УСПЕХ. Запланированная задача "cwp" была успешно создана.
В планировщике все "на месте"
На удаленном, подозреваю, "Documents and Settings" не прокатят, т.к. это символическая ссылка на "users"
Petya V4sechkin
21-03-2012, 13:07
вместо "C:\Documents and Settings\admin\script.vbs" подставляет
C:\Documents
А так?
schtasks /create /ru "TEST\admin" /rp 12345 /sc daily /tn "cwp" /tr "\"C:\Documents and Settings\admin\script.vbs\"" /st 10:00:00
или
schtasks /create /ru "TEST\admin" /rp 12345 /sc daily /tn "cwp" /tr "'C:\Documents and Settings\admin\script.vbs'" /st 10:00:00
просьба предложения заменить
C:\Documents and Settings\admin
на
c:\users\admin
не предлагать
Можно поинтересоваться, почему?
sunnykey
22-03-2012, 03:05
На удаленном, подозреваю, "Documents and Settings" не прокатят, т.к. это символическая ссылка на "users" »
Всё прокатывает, я проверил
На локальном компьютере все работает как надо:
Код:
> schtasks /create /sc daily /tn "cwp" /tr "C:\Documents and Settings\dmitry\script.vbs" /st 10:00:00
УСПЕХ. Запланированная задача "cwp" была успешно создана. »
Это подводный камень, зайди в планировщик задач и посмотри какое он задание создал. Увидешь что приложение для запуска будет "C:\Documents", а ключи "and Settings\dmitry\script.vbs" /st 10:00:00"
Можно поинтересоваться, почему? »
Потому что скрипт должен работать на XP и на 7
Petya V4sechkin, твои варианты оба сработали, планировщик правильно создал задание
Foreigner
22-03-2012, 06:59
Это подводный камень, зайди в планировщик задач и посмотри какое он задание создал. »
Во блин, не верит.
http://storage7.static.itmages.ru/i/12/0322/s_1332384966_5344312_43466dd140.png (http://itmages.ru/image/view/461654/43466dd1)
sunnykey
23-03-2012, 03:31
Во блин, не верит. »
Знаю этот прикол, а теперь нажми на кнопку изменить и посмотри на своё задание;)
Подскажите, как в планировщике ХР поставить галочку "Выполнять только при выполненном входе в систему"? Нужно ли в данном случае прописывать имя локального пользователя и пароль?
schtasks /create /tn "notepad" /tr "c:\WINDOWS\system32\notepad.exe" /sc Monthly /d 6 /sd 06/04/2012 /st 20:48:00
Все молчат, значит вариантов поставить галочку через командную строку нет?
Morpheus
08-04-2012, 12:14
sov44, не обнаружено. Оно вам зачем? Задачу опишите.
Хочу сделать обновление программы раз в месяц через командную строку. Вариант запуска notepad - для проверки работы планировщика вручную.
Если всё будет ОК, вместо блакнота будет командный файл. Пробовал запускать от имени системы /ru System планировщик срабатывает в фоне и я не вижу результата. Если самому поставить галочку "Выполнять только при выполненном входе в систему" и вручную запустить, планировщик срабатывает и я вижу результат.
Перерыл весь инет, решения для ХР не нашел. Хочу попробовать планировщик от семёрки, но не знаю, как его прикрутить к ХР. Там вроде есть такая возможность. http://msdn.microsoft.com/en-us/library/windows/desktop/bb736357(v=vs.85).aspx
Пробовал запускать от имени системы … планировщик срабатывает в фоне и я не вижу результата. »
Правильное обновление как минимум оставляет лог и код возврата. Вот и пишите в пакетном файле что-то наподобие:
"%ProgramFiles%\bla-bla-bla Program\Update bla-bla-bla.exe" /param1 /param2 && msg.exe * "bla-bla-bla program updated Ok" || msg.exe * "bla-bla-bla program updated Error"
Или:
"%ProgramFiles%\bla-bla-bla Program\Update bla-bla-bla.exe" /param1 /param2 && msg.exe * "bla-bla-bla program updated Ok" || (type "C:\WINDOWS\bla-bla-bla Program Update.log"|msg.exe *)
Если лог длинный — извлекайте из него фильтром только существенное.
Morpheus
08-04-2012, 18:51
sov44, и пароля на учётке нет и ставить его не хочется, потому что придётся каждый раз вводить? Так что ли?
Настройте автовход через control userpasswords2 (http://www.oszone.net/10551/Windows7_Autologon#400).
Morpheus, делаю приложение не для себя. Планировщик удалось запустить (http://rghost.ru/37477874), если у пользователя установлен пароль входа в систему. Осталось додумать, как запустить планировщик, если пароль входа не установлен. :sorry:
Petya V4sechkin
09-04-2012, 09:08
как запустить планировщик, если пароль входа не установлен
Не рекомендуется.
Хотя это возможно при отключении локальной политики безопасности "Учетные записи: ограничить использование пустых паролей только для консольного входа" (LimitBlankPasswordUse), но данная политика действует на все неконсольные подключения (доступ по сети, удаленный рабочий стол, запуск от имени).
Получится дыра в безопасности.
Пробовал запускать от имени системы
Код:
/ru System
планировщик срабатывает в фоне и я не вижу результата.
У команды At есть опция /interactive
У команды At есть опция /interactive »
ХР ругается на команду At и задание не создаётся.
schtasks /create /tn "notepad" /tr "c:\WINDOWS\system32\notepad.exe" /sc Monthly /d 6 /sd 06/04/2012 /st 20:48:00 /ru System /At interactive
Petya V4sechkin, покажите применение команды.
Petya V4sechkin
09-04-2012, 10:17
покажите применение команды
AT /?
Petya V4sechkin, не знаю насколько правильно, но написал код согласно условий поста 7
AT 20:48/interactive /every:6 "c:\WINDOWS\system32\notepad.exe"
Задание создаётся, при "ручном" запуске планировщика задание работает, но не вижу запуска приложения. Как исправить?
Попробуйте добавить пробел между временем и параметром «/interactive».
Попробуйте добавить пробел между временем и параметром «/interactive». »
Сработало!
Подскажите, как настроить планировщик на однократный запуск через неделю? В случае не сработки в указанную дату, планировщик должен сработать при следующем входе пользователя в систему. Мой вариант скрипта не "плюсует" неделю.
@echo off
:: запуск службы планировщика
net start Schedule 1>Nul 2>&1
sc config Schedule start= auto 1>Nul 2>&1
:: Установка времени запуска
set t=%time:~0,5%
if "%t:~0,1%"==" " (set t=%t:~1,4%)
:: добавление задания в планировщик
AT %t% today+week /INTERACTIVE "cscript.exe //nologo '%Windir%\Web\Wallpaper\pic_cropping1.vbs'" 1>Nul 2>&1
Возможно присвоить планировщику уникальное имя а не порядковый номер?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.