Bu cevap SADECE süreç kimliğini ve en üstteki cevabın içerdiği fazladan hiçbir şeyi vermeyecektir.
title mycmd
tasklist /v /fo csv | findstr /i "mycmd" > PIDinfo.txt
set /p PIDinfo=<PIDinfo.txt
set PID1=%PIDinfo:~11,5%
set PID2=%PIDinfo:~11,4%
if %PID2% gtr 8100 (
set PID=%PID2%
) else (
set PID=%PID1%
)
echo %PID%
Açıklama:
-te cmd.exe için 18100'den büyük bir PID olmayacak, bu yüzden PID2'nin 8100'den büyük olup olmadığını kontrol et, yani 4 basamaklı mı yoksa 5 basamaklı mı olduğunu öğrendik
durum 1: 17504 gibi 5 basamaklı bir PID, 17504 val değerine sahip bir PID1 değerine ve 1750 val değerine sahip bir PID2 değerine sahiptir;
durum 2: 8205 gibi 4 basamaklı bir PID 8205 "değerinde bir PID1 değerine ve 8205 değerinde bir PID2 değerine sahip, bu yüzden PID2 kullanıyoruz
durum 3: 4352 gibi 4 basamaklı bir PID, 4352 değerinde bir PID1 değerine ve 4352 değerinde bir PID2 değerine sahiptir, bu yüzden PID2 kullanıyoruz.