slash_slavon@vk |
22-06-2013 20:11 2172300 |
Пакетный файл, для отчета о присутстутствующих драйверах в системе
Надо создать пакетный файл, предназначенный для создания отчета, включающего информацию о присутствующих в системе загруженных драйверах и отображающего список приложений и служб, выполняющихся на компьютере. Файл-отчет копируется в некоторый сетевой каталог, задаваемый пакетным параметром, под именем, отражающим MAC-адрес компьютера, с которого получен этот отчет. В конце выводится сообщение вида «Отчет находится в сетевом каталоге <путь>»
Помогите, очень нужно.
|
slash_slavon@vk, и с реализацией чего из вышеизложенного задания у Вас возникают трудности?
|
Код:
@Echo Off
Set put=%1
For /f "Skip=3 Tokens=1" %%s In ('getmac') Do Call :mac %%s
Goto:eof
:mac
Set mac=%1.inf
Echo Drivers >"%put%\%mac%"
Driverquery >>"%put%\%mac%"
Echo ===========================>>"%put%\%mac%"
Echo Prosess >>"%put%\%mac%"
Tasklist >>"%put%\%mac%"
Echo ===========================>>"%put%\%mac%"
Echo Service >>"%put%\%mac%"
Wmic service get name,status,startmode >>"%put%\%mac%"
Echo Отчет находится в сетевом каталоге %put%\
Pause >nul
Exit
1)Сохранять 866
2)Запуск d:\start.bat -наш файл d: -каталог
3)по мак адресам берется с первой сетевой карты если больше одной то додумывайте
4)коряво выводиться список служб sorry не могу это победить )))))
|
Цитата:
Цитата zion87
коряво выводиться список служб sorry не могу это победить ))))) »
|
Что значит «коряво»?
|
zion87, попробуйте не совмещать в одном файле oem и юникод:
Код:
>>"%put%\%mac%" (wmic.exe Service get Name, Status, StartMode | more)
|
Iska, отлично!
Код:
@Echo Off
Set put=%1
:start
Cls
If Not Exist %put%\ (
Echo Каталог не найден
Pause >nul
cls
Echo Выберите директорию \\admin-pc\report - пример
Set /p put=
Goto :start)
For /f "Skip=3 Tokens=1" %%s In ('getmac') Do Call :mac %%s
Goto:eof
:mac
If "%1"=="Отключен" Goto :getM
Set mac=%1.inf
( Echo Drivers
Driverquery
Echo ===========================
Echo Prosess
Tasklist
Echo ===========================
Echo Service)>"%put%\%mac%"
>>"%put%\%mac%" (
wmic.exe Service get Name, Status, StartMode | more)
Echo Отчет находится в сетевом каталоге %put%\
Pause >nul
Exit
:getM
|
Цитата:
Iska, отлично!
Код:
@Echo Off
Set put=%1
:start
Cls
If Not Exist %put%\ (
Echo Каталог не найден
Pause >nul
cls
Echo Выберите директорию \\admin-pc\report - пример
Set /p put=
Goto :start)
For /f "Skip=3 Tokens=1" %%s In ('getmac') Do Call :mac %%s
Goto:eof
:mac
If "%1"=="Отключен" Goto :getM
Set mac=%1.inf
( Echo Drivers
Driverquery
Echo ===========================
Echo Prosess
Tasklist
Echo ===========================
Echo Service)>"%put%\%mac%"
>>"%put%\%mac%" (
wmic.exe Service get Name, Status, StartMode | more)
Echo Отчет находится в сетевом каталоге %put%\
Pause >nul
Exit
:getM
|
Извиняюсь за наглость, но можно додумать до : в заданиях "задаются в качестве пакетных параметров" – означает, что пользователь заранее не должен знать синтаксис команды. Программа должна выдавать приглашение пользователю на ввод соответствующих параметров. т.е. должен быть диалог с пользователем, ввести путь, успешно, не успешно - почему? спасибо
Цитата:
Цитата slash_slavon@vk
Надо создать пакетный файл, предназначенный для создания отчета, включающего информацию о присутствующих в системе загруженных драйверах и отображающего список приложений и служб, выполняющихся на компьютере. Файл-отчет копируется в некоторый сетевой каталог, задаваемый пакетным параметром, под именем, отражающим MAC-адрес компьютера, с которого получен этот отчет. В конце выводится сообщение вида «Отчет находится в сетевом каталоге <путь>» »
|
|
IIypsik, «додумать» можно. Но зачем? Теряется абсолютно весь смысл автоматизации.
|
Iska, тех задание дано с такой пометкой
|
IIypsik, ну, так делайте вместо Set put=%1 — set /p put=Введите bla-bla-bla и т.д.
|
Iska, да, так и делаю, спасибо
|
Время: 07:12.
© OSzone.net 2001-