Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Liczba procesów w bat

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Liczba procesów w bat
From: Robert Winkler <noone@nowhere.org>
Date: Mon, 30 Nov 2015 23:42:49 +0100
W dniu 30.11.2015 o 20:13, peter pisze:
Mam skrypt w ubuntu, który zlicza w pętli liczbę moich aktualnych
procesów. Zlicza co jakiś czas tak długo aż wszystkie moje procesy
zakończą się.
Skrypt wygląda tak :

k=4
while [ $k -gt 0 ]
do
k=`ps -e | grep pfgw | wc -l`
echo $k
sleep 60
done

Teraz potrzebuję zaimplementować ten skrypt do windowsa jako bat

problem pierwszy, nie ma instrukcji while, rozwiązałem przy pomocy if i
goto

Znalazłem, że odpowiednikiem 4 linii jest

tasklist | find /c "svchost"     rem svchost jest dla testów

Instrukcja ta po wpisaniu do wiersza poleceń wykonuje się prawidłowo.
Drukuje liczbę procesów svchost. Niestety wpisana do bata

set k=tasklist | find /c "svchost"

nie wykonuje się prawidłowo. Nic nie wpisuje do k.
Próbowałem różne kombinacje: nawiasy, cudzysłów, apostrof itp. Bez efektu.

Kto wie jak wpisać wartość tasklist... do zmiennej k tak jak działa to w
linuksie.

pozdrawiam,


Musi to być batch?
Nie po to Microsoft dodał 9 lat temu PowerShell-a do systemu
abyśmy dalej męczyli się w 2015 roku z "bat"-ami

Twój skrypt z linuxa przepisał bym tak pod powershell-a:

$k = 4
Do {
 $k = ( Get-Process svchost | measure ).Count
 "number of 'svchost' processes running: $k"
 start-sleep 60
} While ($k -ne 0)

--
Robert

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>