Получение статуса компьютера через батник по сети.
Как я могу узнать через батник по сети выключен ли комп или нет, чтобы в соответствии с полученным результатом выполнить те или иные действия. Спасибо.
|
Petya V4sechkin |
01-06-2009 18:14 1132431 |
|
Petya V4sechkin, по сети через батник можно узнать сколько свободного места на флешке и узнать дан ему шаринг или нет, и если нет то дать ?
|
Petya V4sechkin, запрос насчет флешки может через WMI возможно сделать ?
|
Petya V4sechkin |
02-06-2009 17:01 1133177 |
Цитата:
Цитата Serjione
по сети через батник можно узнать сколько свободного места на флешке
|
В общем случае для любых съемных дисков:
Код:
WMIC /Node:"имя_компа" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null)" Get Caption, Description, FreeSpace, Size, VolumeName
|
Petya V4sechkin, в батнике паузу на опреденненное время задавать можно ? Насчет приведенного выше вами кода WMI, батник полученные данные может прочесть, чтобы исходя из размера свободного места на флешке выпонить те или иные действия ? Может определить WMI дан ли общий доступ флешке или нет ?
|
Цитата:
Цитата Serjione
в батнике паузу на опреденненное время задавать можно ? »
|
Помоему пауза делается командой Pause
|
Petya V4sechkin |
03-06-2009 16:14 1134036 |
Цитата:
Цитата Serjione
в батнике паузу на опреденненное время задавать можно ?
|
Пауза в пакетном файле
Цитата:
Цитата Serjione
Насчет приведенного выше вами кода WMI, батник полученные данные может прочесть, чтобы исходя из размера свободного места на флешке выпонить те или иные действия ? Может определить WMI дан ли общий доступ флешке или нет ?
|
Пример:
Код:
@Echo Off
SetLocal EnableExtensions
For /F "Skip=1 Tokens=2,3 Delims=," %%I In ('WMIC /Node:"имя_компа" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null)" Get Caption^, FreeSpace^, Size /Format:CSV ^| Find ","') Do (
Echo На диске %%I свободно %%J байт
WMIC /Node:"имя_компа" Share Where "Path Like '%%I%%'" Get Name, Path
)
Внутри цикла переменная %%I содержит букву диска, %%J - свободное место (с помощью оператора If можно выполнить действия по условию). Команда WMIC Share выводит список шар, у которых путь начинается с заданной буквы диска.
|
Petya V4sechkin, спасибо за предыдущий ответ, можно по сети дать шаринг флешке и в Sharing permissions пользователю Everyone дать разрешение на change ?
Medic84, команда Pause есть верно, только через нее конкретное время ожидания задать не возможно.
|
Petya V4sechkin |
04-06-2009 13:38 1134827 |
Цитата:
Цитата Serjione
можно по сети дать шаринг флешке и в Sharing permissions пользователю Everyone дать разрешение на change ?
|
[решено] Создание сетевой папки
|
Petya V4sechkin, этот код
For /F "Skip=1 Tokens=2,3 Delims=," %%I In ('WMIC /Node:"Sergey" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null)" Get Caption, FreeSpace, Size /Format:CSV | Find ","')
выдает:
was unexpected at this time
хотя отдельно этот код
WMIC /Node:"Sergey" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null)" Get Caption, FreeSpace, Size /Format:CSV | Find "," работает.
|
Petya V4sechkin |
05-06-2009 11:09 1135617 |
Serjione, символы ^ куда у вас делись? Решили, что они не нужны?
|
Petya V4sechkin, с символами ругается что синтаксис некорректен.
|
Petya V4sechkin |
08-06-2009 09:58 1138023 |
Serjione, код из 8-го поста работает в XP, 2003 и Vista.
В Win 7 Beta опция /Format:CSV выдает ошибку.
Вот еще вариант (добавил условие FreeSpace Is Not Null для исключения пустых кардридеров):
Код:
@Echo Off
SetLocal EnableExtensions
For /F "Tokens=1,2 Delims= " %%I In ('WMIC /Node:"имя_компа" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null) And FreeSpace Is Not Null" Get Caption^, FreeSpace^, Size ^| Find ":"') Do (
Echo На диске %%I свободно %%J байт
WMIC /Node:"имя_компа" Share Where "Path Like '%%I%%'" Get Name, Path
)
|
Не знаю я как этот код работает, у меня не прокатило, запустив отдельно
WMIC /Node:"Sergey" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null) And FreeSpace Is Not Null" Get Caption^, FreeSpace^, Size ^| Find ":"
получаю Invalid Get Expression
|
Petya V4sechkin |
08-06-2009 10:55 1138062 |
Serjione, работает целиком в .cmd файле, а не отдельно.
|
Petya V4sechkin, батник выпоняется в целом без ошибок, только до этой строки
WMIC /Node:"имя_компа" Share Where "Path Like '%%I%%'" Get Name, Path
не доходит, хотя флешка вставлена, и свободное место на ней есть.
|
Petya V4sechkin , разобрался что к чему, еще один момент остался, этот запрос
WMIC /Node:"имя компа" Share Where "Path Like '%%I%%'" Get Name, Path на true в случае если имеется шаринг и false в обратном случае можно переиначить ?
|
Petya V4sechkin |
12-06-2009 11:24 1141546 |
Serjione, можно так (перепишу батник полностью):
Код:
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
For /F "Tokens=1,2 Delims= " %%I In ('WMIC /Node:"имя_компа" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null) And FreeSpace Is Not Null" Get Caption^, FreeSpace^, Size ^| Find ":"') Do (
Echo На диске %%I свободно %%J байт
WMIC /Node:"имя_компа" Share Where "Path Like '%%I%%'" Get Path 2>nul | Find ":" >nul
If !ErrorLevel!==0 (
Echo Есть шара на %%I
) Else (
Echo Нет шары на %%I
)
)
Опция EnableDelayedExpansion нужна, чтобы внутри цикла использовать переменную ErrorLevel. В конструкции 2>nul | Find ":" >nul результат выполнения WMIC по каналу передается команде Find (с полным скрытием вывода на экран), а она возвращает значение в ErrorLevel (нашла/не нашла).
|
Petya V4sechkin, спасибо за предыдущий ответ. WMI позволяет определить через батник размер файла на диске ?
|
Petya V4sechkin |
14-06-2009 11:39 1142845 |
Цитата:
Цитата Serjione
WMI позволяет определить через батник размер файла на диске ?
|
Команда Dir позволяет:
Код:
@Echo Off
Set FPath=путь_к_файлу
Set FName=имя_файла
If Not Exist "%FPath%\%FName%\*" (
For /F "Tokens=3 Delims= " %%K In ('Dir /-C "%FPath%\%FName%" ^| Find /I "%FName%"') Do (
Echo Размер файла %FPath%\%FName% %%K байт
)
)
Путь к файлу может быть и сетевым: \\имя_компа\имя_шары
|
По сети дать шаринг флешке через VBScript используя WMI можно ?
Этот код пока не проходит.
Sub CreateRemoteShare (strComp, strFolder, strShare, strInfo)
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\имя компа\root\cimv2")
|
Время: 03:02.
© OSzone.net 2001-