Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Получение статуса задания планировщика с помощью schtasks

Ответить
Настройки темы
Любой язык - [решено] Получение статуса задания планировщика с помощью schtasks

(*.*)


Сообщения: 36491
Благодарности: 6675


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Всем привет!

Вопрос, наверное, очень простой для гуру Есть команда
Код: Выделить весь код
schtasks /query /fo list /tn Microsoft\Windows\Defrag\ScheduledDefrag
Выдает:
Код: Выделить весь код
Folder: Microsoft\Windows\Defrag
HostName:      TEST374
TaskName:      Microsoft\Windows\Defrag\ScheduledDefrag
Next Run Time: 2/2/2011 2:47:45 AM
Status:        Ready
Logon Mode:    Interactive/Background
Альтернативный вариант - без /fo list. Вывод:
Код: Выделить весь код
Folder: Microsoft\Windows\Defrag
TaskName                                 Next Run Time          Status
======================================== ====================== ===============
ScheduledDefrag                          2/2/2011 1:29:58 AM    Ready
Как получить значение для Status в переменную?
Спасибо!

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 15:49, 27-01-2011

 

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата Vadikan:
Есть команда »
Уточните систему. У меня на ХР эта команда выдает
Цитата:
Ошибка: Неправильный параметр или аргумент - '/tn'.
Введите "SCHTASKS /QUERY /?" для получения справки по использованию.
В справке такой ключ отсутствует.

Отправлено: 16:05, 27-01-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


(*.*)


Сообщения: 36491
Благодарности: 6675

Профиль | Сайт | Отправить PM | Цитировать


Цитата gora:
Уточните систему »
Конфигурация у меня заполнена, и мне не нужно для ХР Там и задания такого нет.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 16:14, 27-01-2011 | #3



Moderator


Сообщения: 53175
Благодарности: 15430

Профиль | Отправить PM | Цитировать


Vadikan, вот, на коленке:
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions

For /F "Tokens=1* Skip=5 Delims=: " %%I In ('Schtasks /Query /Fo List /Tn Microsoft\Windows\Defrag\ScheduledDefrag') Do (
  Set Status=%%J
  GoTo ExitFor
)
:ExitFor
Echo Статус задания: %Status%
Проверял на русской 7 (на английской тоже должно работать).
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:32, 27-01-2011 | #4


(*.*)


Сообщения: 36491
Благодарности: 6675

Профиль | Сайт | Отправить PM | Цитировать


Petya V4sechkin, спасибо, работает!

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 16:43, 27-01-2011 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Petya V4sechkin:
вот, на коленке »
так должно быть быстрей, переход по метке - очень медленная команда:
Код: Выделить весь код
@echo off

for /f "tokens=1* delims=: " %%i in (
'schtasks /query /fo List /tn Microsoft\Windows\Defrag\ScheduledDefrag'
) do if /i "%%i"=="Status" set "STATUS=%%j"

echo Статус задания: %STATUS%
pause>nul
P.S. 7-ки под рукой нет проверить (

Отправлено: 16:58, 27-01-2011 | #6



Moderator


Сообщения: 53175
Благодарности: 15430

Профиль | Отправить PM | Цитировать


Цитата amel27:
if /i "%%i"=="Status"
На русской 7 не получится.

Отправлено: 17:01, 27-01-2011 | #7


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Petya V4sechkin:
На русской 7 не получится. »
для поддержки 2-го языка можно добавить ELSE IF, для SKIP может быть так:
Код: Выделить весь код
@echo off

for /f "skip=5 tokens=1* delims=: " %%i in (
'schtasks /query /fo List /tn Microsoft\Windows\Defrag\ScheduledDefrag'
) do if not defined STATUS set "STATUS=%%j"

echo Статус задания: %STATUS%
pause>nul
...хотя из примера напрашивается SKIP=4...
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:36, 27-01-2011 | #8



Moderator


Сообщения: 53175
Благодарности: 15430

Профиль | Отправить PM | Цитировать


Цитата amel27:
хотя из примера напрашивается SKIP=4
Там еще пустая строчка в начале.

Отправлено: 19:41, 27-01-2011 | #9


(*.*)


Сообщения: 36491
Благодарности: 6675

Профиль | Сайт | Отправить PM | Цитировать


amel27, спасибо, так тоже работает.

Добавлю вариант на PowerShell от Василия Гусева

Код: Выделить весь код
$tasks = [xml](schtasks /query /tn Microsoft\Windows\Defrag\ScheduledDefrag /xml one)
$($tasks.Task.settings.enabled)
Сам XML можно посмотреть командой в круглых скобках из первой строки, либо в не очень приглядном виде вывести так: $tasks.outerxml

Я всегда снизу вверх смотрю на гуру этого форума, которым по силу любые задачи на CMD/VBS, но нельзя не отметить, что работа PowerShell с XML значительно упрощает решение

Да, я помню, что задал категорией темы CMD, мне было нужно именно это, но теперь поменял на "разное".

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 23:16, 27-01-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Получение статуса задания планировщика с помощью schtasks

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Получение статуса из Miranda LilLoco Программирование и базы данных 0 16-08-2010 07:34
CMD/BAT - Получение статуса компьютера через батник по сети. Serjione Скриптовые языки администрирования Windows 21 18-12-2009 18:29
Службы - [решено] Ввод в гибридный спящий режим с помощью планировщика задач CokpaT116 Microsoft Windows Vista 2 29-07-2009 09:27
[решено]Получение переменной с HTML с помощью StringRegExpReplace ikif AutoIt 8 22-07-2009 10:15
Загрузка - [статья] Ускорение загрузки Windows Vista с помощью планировщика заданий Vadikan Microsoft Windows Vista 2 22-08-2008 18:50




 
Переход