Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Добавление задания в планировщик задач, путь которого содержит пробелы (http://forum.oszone.net/showthread.php?t=230885)

sunnykey 21-03-2012 04:02 1883698

Добавление задания в планировщик задач, путь которого содержит пробелы
 
Здравствуйте. Сделал такой батник
Код:

@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 1883714

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 1883889

Цитата:

Цитата sunnykey
вместо "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
Цитата:

Цитата sunnykey
просьба предложения заменить
C:\Documents and Settings\admin
на
c:\users\admin
не предлагать

Можно поинтересоваться, почему?

sunnykey 22-03-2012 03:05 1884379

Цитата:

Цитата Foreigner
На удаленном, подозреваю, "Documents and Settings" не прокатят, т.к. это символическая ссылка на "users" »

Всё прокатывает, я проверил

Цитата:

Цитата Foreigner
На локальном компьютере все работает как надо:
Код:
> 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"

Цитата:

Цитата Petya V4sechkin
Можно поинтересоваться, почему? »

Потому что скрипт должен работать на XP и на 7

Petya V4sechkin, твои варианты оба сработали, планировщик правильно создал задание

Foreigner 22-03-2012 06:59 1884408

Цитата:

Цитата sunnykey
Это подводный камень, зайди в планировщик задач и посмотри какое он задание создал. »

Во блин, не верит.

sunnykey 23-03-2012 03:31 1885084

Цитата:

Цитата Foreigner
Во блин, не верит. »

Знаю этот прикол, а теперь нажми на кнопку изменить и посмотри на своё задание;)

sov44 06-04-2012 22:24 1894875

Подскажите, как в планировщике ХР поставить галочку "Выполнять только при выполненном входе в систему"? Нужно ли в данном случае прописывать имя локального пользователя и пароль?
Код:

schtasks /create /tn "notepad" /tr "c:\WINDOWS\system32\notepad.exe" /sc Monthly /d 6 /sd 06/04/2012 /st 20:48:00

sov44 08-04-2012 10:26 1895497

Все молчат, значит вариантов поставить галочку через командную строку нет?

Morpheus 08-04-2012 12:14 1895544

sov44, не обнаружено. Оно вам зачем? Задачу опишите.

sov44 08-04-2012 12:49 1895580

Хочу сделать обновление программы раз в месяц через командную строку. Вариант запуска notepad - для проверки работы планировщика вручную.
Если всё будет ОК, вместо блакнота будет командный файл. Пробовал запускать от имени системы
Код:

/ru System
планировщик срабатывает в фоне и я не вижу результата. Если самому поставить галочку "Выполнять только при выполненном входе в систему" и вручную запустить, планировщик срабатывает и я вижу результат.
Перерыл весь инет, решения для ХР не нашел. Хочу попробовать планировщик от семёрки, но не знаю, как его прикрутить к ХР. Там вроде есть такая возможность. http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Iska 08-04-2012 18:10 1895805

Цитата:

Цитата sov44
Пробовал запускать от имени системы … планировщик срабатывает в фоне и я не вижу результата. »

Правильное обновление как минимум оставляет лог и код возврата. Вот и пишите в пакетном файле что-то наподобие:
Код:

"%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 1895828

sov44, и пароля на учётке нет и ставить его не хочется, потому что придётся каждый раз вводить? Так что ли?
Настройте автовход через control userpasswords2.

sov44 08-04-2012 21:45 1895913

Morpheus, делаю приложение не для себя. Планировщик удалось запустить, если у пользователя установлен пароль входа в систему. Осталось додумать, как запустить планировщик, если пароль входа не установлен. :sorry:

Petya V4sechkin 09-04-2012 09:08 1896064

Цитата:

Цитата sov44
как запустить планировщик, если пароль входа не установлен

Не рекомендуется.
Хотя это возможно при отключении локальной политики безопасности "Учетные записи: ограничить использование пустых паролей только для консольного входа" (LimitBlankPasswordUse), но данная политика действует на все неконсольные подключения (доступ по сети, удаленный рабочий стол, запуск от имени).
Получится дыра в безопасности.

Цитата:

Цитата sov44
Пробовал запускать от имени системы
Код:
/ru System
планировщик срабатывает в фоне и я не вижу результата.

У команды At есть опция /interactive

sov44 09-04-2012 10:15 1896106

Цитата:

Цитата Petya V4sechkin
У команды 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 1896107

Цитата:

Цитата sov44
покажите применение команды

Код:

AT /?

sov44 09-04-2012 11:10 1896134

Petya V4sechkin, не знаю насколько правильно, но написал код согласно условий поста 7
Код:

AT 20:48/interactive /every:6 "c:\WINDOWS\system32\notepad.exe"
Задание создаётся, при "ручном" запуске планировщика задание работает, но не вижу запуска приложения. Как исправить?

Iska 09-04-2012 14:42 1896273

Попробуйте добавить пробел между временем и параметром «/interactive».

sov44 09-04-2012 16:31 1896378

Цитата:

Цитата Iska
Попробуйте добавить пробел между временем и параметром «/interactive». »

Сработало!

sov44 12-05-2012 20:48 1914772

Подскажите, как настроить планировщик на однократный запуск через неделю? В случае не сработки в указанную дату, планировщик должен сработать при следующем входе пользователя в систему. Мой вариант скрипта не "плюсует" неделю.
Код:

@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

Возможно присвоить планировщику уникальное имя а не порядковый номер?

sov44 07-09-2013 10:16 2214081

Пока нет решения с использованием планировщика AT http://forum.oszone.net/thread-260896-2.html подскажите, где находятся задания, созданные планировщиком SCHTASKS?
Нужно, чтобы при запуске скрипта не создавалось задание, если оно уже создано.
пример задания, которое запускает вызов окна vbs с подавлением окна консоли
Код:

schtasks /create /rl highest /tn "name1" /sc monthly /d 7 /st 12:00 /tr "'%ProgramFiles%\papka\hidcon.exe' '%ProgramFiles%\papka\runN.cmd'"
upd. вроде решил
Код:

SchTasks /Query /FO list | >nul find /i "name1" || >nul schtasks /create /rl highest /tn "name1" /sc monthly /d 7 /st 12:00 /tr "'%ProgramFiles%\papka\hidcon.exe' '%ProgramFiles%\papka\runN.cmd'"

Mancoffee 20-03-2015 23:13 2485417

Из справки /?

"Если пути к файлам содержат пробелы, следует использовать две
пары кавычек: одну пару - для файла CMD.EXE, а другую - для
SchTasks.exe. Внешние кавычки для файла CMD должны быть двойными,
а внутренние кавычки - одинарными или двойными кавычками с обратной
косой чертой:
SCHTASKS /Create
/tr "'c:\program files\internet explorer\iexplorer.exe'
\"c:\log data\today.xml\"" ..."

Сержа 26-06-2015 06:44 2522626

Всем привет!
А возможно ли сделать задание которое бы запускало приложение каждые 15 мин???

AT 20:48/interactive /every:6 "c:\WINDOWS\system32\notepad.exe"

Сержа 01-07-2015 10:44 2524540

Если кому интересно запуск через каждые 15 мин:

schtasks /create /sc minute /mo 15 /tn "Название задания" /tr "c:\WINDOWS\system32\notepad.exe"

null999 12-04-2016 23:59 2625594

Подскажите, пожалуйста, как через батник отредактировать задачу из планировщика?

null999 13-04-2016 01:10 2625600

ну или как удлить все задания из планировщика?

alpap 14-04-2016 13:09 2626037

Цитата:

Цитата null999
ну или как удлить все задания из планировщика? »

Есть и нужные, нельзя бездумно удалять. Если создавали сами в отдельную папку и они больше не нужны, можно так:
Код:

pushd "%Systemroot%\System32\Tasks\Autorun" && (rd /s /q "%Systemroot%\System32\Tasks\Autorun"& popd) 2>nul
У меня в папке "Autorun" все задания, созданные мною, выполняющиеся при входе в систему пользователем.
А, вообще, есть команда
Код:

schtasks /?
, изучив ее все встанет на свои места.

null999 15-04-2016 16:30 2626534

Тогда немного изменю вопрос, можно ли проверить, если задача существует, то изменить некоторие не опции (запуск програм, аргумент) , если нет, то запустить команду что б добавить новую задачу

Utilizator007 29-05-2016 16:10 2638518

Цитата:

Цитата null999
Тогда немного изменю вопрос, можно ли проверить, если задача существует, то изменить некоторие не опции (запуск програм, аргумент) , если нет, то запустить команду что б добавить новую задачу »

Что бы проверить есть ли задание в планировщике я использую:
Код:

SCHTASKS /Query /FO Table /NH /TN \НАЗВАНИЕ_ВАШЕГО_ЗАДАНИЯ
IF %ERRORLEVEL%==0 (
        ECHO Запланированное задание с именем НАЗВАНИЕ_ВАШЕГО_ЗАДАНИЯ найдено в TASKS
        GoTo :Next1
) Else (
        ECHO Не удается найти указанный файл
        GoTo :Next2
        )
)

Главное указать папку в планировщике, левый слеш " \" перед "НАЗВАНИЕ_ВАШЕГО_ЗАДАНИЯ" означает что это задание лежит в корне планировщика.
После того как вы определите есть ли ваше задание в планировщике можно:
1. Если оно есть, его можно удалить и записать новое, исправленное. (Перейти на метку:Next1)
2. Если его нет, то просто записать новое. (Перейти на метку:Next2)

Prodif 05-09-2016 12:00 2665870

Посоветуйте как быть, нужно добавить чтобы созданное задание запускалось с аргументом regedit /s. Но SCHTASKS похоже его не переваривает.
schtasks /create /tn "CLR" /tr regedit /s "C:\Windows\System32\1.reg"
schtasks /create /tn "CLR" /tr C:\Windows\System32\1.reg нет проблем, но всплывает запрос на подтверждение во время выполнения задания

Iska 05-09-2016 13:10 2665887

Читаем встроенную справку:
Цитата:

Цитата schtasks.exe /create /?
Код:

    ==> Если пути к файлам содержат пробелы, следует использовать две
        пары кавычек: одну пару - для файла CMD.EXE, а другую - для
        SchTasks.exe.  Внешние кавычки для файла CMD должны быть двойными,
        а внутренние кавычки - одинарными или двойными кавычками с обратной
        косой чертой:
        SCHTASKS /Create
          /tr "'c:\program files\internet explorer\iexplorer.exe'
          \"c:\log data\today.xml\"" ...



Павел_Зыков@vk 09-01-2017 17:41 2702110

привет подскажите кто знает с проблемой создания задачи в планировщике через батник: при написании команды в ручную через cmd все работает, но если эту же команду пытаться запустить через батник то выдается ошибка на параметр /tn сам батник такой:
SCHTASKS /Create /RU "логин" /RP "пароль" /rl Highest /f /SC HOURLY /MO 4 /tn Check_HDD /TR C:\Scripts\HDD\Check_HDD.ps1

Iska 09-01-2017 21:20 2702185

Павел_Зыков@vk, в какой кодировке сохраняете пакетный файл? Нужна OEM/866.

spotegg 25-04-2017 00:29 2732104

Добрый день! Как сделать создание такого задания в планировщике посредством командной строки:
http://ninjix.blogspot.ru/2011/02/ho...windows-7.html

Iska 25-04-2017 05:11 2732119

Например, ручками создать и экспортировать в xml-файл. Тогда:
Цитата:

Цитата spotegg
создание такого задания в планировщике посредством командной строки »

будет сводиться к созданию задания из xml-файла. Ну, а так, «schtasks.exe /create /?» — Ваше всё. Читайте, пробуйте.


Время: 06:10.

Время: 06:10.
© OSzone.net 2001-