Здравствуйте, уважаемые старожилы!
Есть необходимость в создании bat файла следующей функции:
Изначально выводиться информация из CMD в txt файл. Информация о состоянии запуска служб. ( wmic service get name,startmode > C:\Temp\Services\file11.txt )
В дальнейшем этот файл подвергается различным манипуляциям, но проблема в том, что при исполнении команды (wmic service get name,startmode > C:\Temp\Services\file11.txt) состояние запуска службы зачастую показывает разные результаты. И в некотором случае может показать состояние запуска службы как например "Auto" так и попросту не определить его "Unknown". Вот собственно мне это состояние "Unknown" совершенно нежелательно, поэтому хочу сделать так, чтобы после выполнения команды (wmic service get name,startmode > C:\Temp\Services\file11.txt) если в файле было хоть одно слово "Unknown", файл перезаписывался до момента пока слова "Unknown" не будет вовсе. Также проблема еще заключается в том что Powershell пользоваться нельзя ввиду его отсутствия на компе где исполняется скрипт.
Заранее спасибо за потраченное время!
CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
-
DJ Mogarych
Re: CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Цитата Nilf:
Powershell пользоваться нельзя ввиду его отсутствия на компе
Что ж там за комп-то, Windows 98?
Цитата Nilf:
если в файле было хоть одно слово "Unknown", файл перезаписывался до момента пока слова "Unknown" не будет вовсе
Есть риск того, что скрипт будет выполняться вечно.
Powershell пользоваться нельзя ввиду его отсутствия на компе
CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Что ж там за комп-то, Windows 98?
Цитата Nilf:
если в файле было хоть одно слово "Unknown", файл перезаписывался до момента пока слова "Unknown" не будет вовсе
CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Есть риск того, что скрипт будет выполняться вечно.
-
Nilf
Re: CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Цитата DJ Mogarych:
Что ж там за комп-то, Windows 98?
Есть пару штук, но не много ). 2000 и XP в основе своя. Компы просто промышленные.
Что ж там за комп-то, Windows 98?
CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Есть пару штук, но не много ). 2000 и XP в основе своя. Компы просто промышленные.
-
DJ Mogarych
Re: CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
На XP можно поставить Powershell v2. А так - подберите какое-нибудь стороннее ПО типа WinAudit, которое умеет делать отчёты по вызову из командной строки.
-
Nilf
Re: CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Цитата DJ Mogarych:
Есть риск того, что скрипт будет выполняться вечно.
Ну тут как повезет, хотя в теории не должно, не думаю что все-же будет неопределенное состояние вечно висеть. Надеюсь итераций до 10 даже не дойдет.
Цитата DJ Mogarych:
На XP можно поставить Powershell v2. А так - подберите какое-нибудь стороннее ПО типа WinAudit, которое умеет делать отчёты по вызову из командной строки.
Стороннего ПО, к сожалению, тоже нужно избегать =(.
Есть риск того, что скрипт будет выполняться вечно.
CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Ну тут как повезет, хотя в теории не должно, не думаю что все-же будет неопределенное состояние вечно висеть. Надеюсь итераций до 10 даже не дойдет.
Цитата DJ Mogarych:
На XP можно поставить Powershell v2. А так - подберите какое-нибудь стороннее ПО типа WinAudit, которое умеет делать отчёты по вызову из командной строки.
CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Стороннего ПО, к сожалению, тоже нужно избегать =(.
-
megaloman
Re: CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Есть риск, что предложенный батник не будет корректно работать в CMD Ваших старых систем
Код:
Код:
Код: Выделить всё
@Echo Off
cls
Set "Out=Z:\____________file11.txt"
Set "KeyWord=Unknown"
Set /A MaxIter=20
Set /A i=0
:Begin
Wmic service get name,startmode > "%Out%"
>nul Find /I "%KeyWord%" "%Out%" ||Exit /B
Set /A i+=1
If %i% LEQ %MaxIter% GoTo :Begin
Echo !!! The file "%Out%"contains the word "%KeyWord%"
Pause
Exit /B-
Nilf
Re: CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Цитата megaloman:
Есть риск, что предложенный батник не будет корректно работать в CMD Ваших старых систем
Код:
@Echo Off
cls
Set "Out=Z:\____________file11.txt"
Set "KeyWord=Unknown"
Set /A MaxIter=20
Set /A i=0
:Begin
Wmic service get name,startmode > "%Out%"
>nul Find /I "%KeyWord%" "%Out%" ||Exit /B
Set /A i+=1
If %i% LEQ %MaxIter% GoTo :Begin
Echo !!! The file "%Out%"contains the word "%KeyWord%"
Pause
Exit /B
Спасибо! Буду пробовать завтра состряпать на основе этого что-то.
Есть риск, что предложенный батник не будет корректно работать в CMD Ваших старых систем
Код:
@Echo Off
cls
Set "Out=Z:\____________file11.txt"
Set "KeyWord=Unknown"
Set /A MaxIter=20
Set /A i=0
:Begin
Wmic service get name,startmode > "%Out%"
>nul Find /I "%KeyWord%" "%Out%" ||Exit /B
Set /A i+=1
If %i% LEQ %MaxIter% GoTo :Begin
Echo !!! The file "%Out%"contains the word "%KeyWord%"
Pause
Exit /B
CMD/BAT - [решено] Вывести информацию в файл, если в файле есть слово -> обновить информацию
Спасибо! Буду пробовать завтра состряпать на основе этого что-то.