Показать полную графическую версию : Пакетный файл, для отчета о присутстутствующих драйверах в системе
slash_slavon@vk
22-06-2013, 20:11
Надо создать пакетный файл, предназначенный для создания отчета, включающего информацию о присутствующих в системе загруженных драйверах и отображающего список приложений и служб, выполняющихся на компьютере. Файл-отчет копируется в некоторый сетевой каталог, задаваемый пакетным параметром, под именем, отражающим 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 не могу это победить )))))
коряво выводиться список служб sorry не могу это победить ))))) »
Что значит «коряво»?
Что значит «коряво»? »
http://s018.radikal.ru/i526/1306/a9/89282361f4c8.png
http://i051.radikal.ru/1306/07/aeddd5babd86.png
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
Извиняюсь за наглость, но можно додумать до : в заданиях "задаются в качестве пакетных параметров" – означает, что пользователь заранее не должен знать синтаксис команды. Программа должна выдавать приглашение пользователю на ввод соответствующих параметров. т.е. должен быть диалог с пользователем, ввести путь, успешно, не успешно - почему? спасибо
Надо создать пакетный файл, предназначенный для создания отчета, включающего информацию о присутствующих в системе загруженных драйверах и отображающего список приложений и служб, выполняющихся на компьютере. Файл-отчет копируется в некоторый сетевой каталог, задаваемый пакетным параметром, под именем, отражающим MAC-адрес компьютера, с которого получен этот отчет. В конце выводится сообщение вида «Отчет находится в сетевом каталоге <путь>» »
IIypsik, «додумать» можно. Но зачем? Теряется абсолютно весь смысл автоматизации.
Iska, тех задание дано с такой пометкой
IIypsik, ну, так делайте вместо Set put=%1 — set /p put=Введите bla-bla-bla и т.д.
Iska, да, так и делаю, спасибо
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.