আমি WMIC
এবং TASKLIST
টুলস কিন্তু তারা বাড়িতে উপলভ্য নয় / windows.Another উপায় মৌলিক সংস্করণ ব্যবহার করা QPROCESS
(বেশী আছে টার্মিনাল পরিষেবার জন্য প্রায় প্রতিটি জানালা মেশিনে কমান্ড উপলব্ধ নেই - আমি শুধু মনে জন্য SP2 ছাড়া এক্সপি win, তাই practialy যে উইন্ডোজ মেশিন):
@echo off
:check_process
setlocal
if "%~1" equ "" echo pass the process name as forst argument && exit /b 1
:: first argument is the process you want to check if running
set process_to_check=%~1
:: QPROCESS can display only the first 12 symbols of the running process
:: If other tool is used the line bellow could be deleted
set process_to_check=%process_to_check:~0,12%
QPROCESS * | find /i "%process_to_check%" >nul 2>&1 && (
echo process %process_to_check% is running
) || (
echo process %process_to_check% is not running
)
endlocal
QPROCESS
কমান্ডটি তেমন শক্তিশালী নয় TASKLIST
এবং কেবলমাত্র প্রক্রিয়া নামের 12 টি প্রতীক দেখানোর ক্ষেত্রে সীমাবদ্ধ তবে TASKLIST
এটি উপলভ্য না হলে বিবেচনা করা উচিত ।
আরও সহজ ব্যবহার যেখানে এটি নামটি ব্যবহার করে যদি প্রক্রিয়াটিকে আর্গুমেন্ট হিসাবে ব্যবহার করা হয় ( .exe
আপনি যেখানে এক্সিকিউটেবল নামটি পাস করেন এই ক্ষেত্রে প্রত্যয়টি বাধ্যতামূলক):
@echo off
:check_process
setlocal
if "%~1" equ "" echo pass the process name as forst argument && exit /b 1
:: first argument is the process you want to check if running
:: .exe suffix is mandatory
set "process_to_check=%~1"
QPROCESS "%process_to_check%" >nul 2>&1 && (
echo process %process_to_check% is running
) || (
echo process %process_to_check% is not running
)
endlocal
QPROCESS
ব্যবহারের দুটি পদ্ধতির মধ্যে পার্থক্য হ'ল QPROCESS *
সমস্ত প্রক্রিয়া তালিকাভুক্ত করে যখন QPROCESS some.exe
বর্তমান ব্যবহারকারীর জন্য কেবলমাত্র প্রক্রিয়াগুলি ফিল্টার করবে।
এর WMI
পরিবর্তে উইন্ডোজ স্ক্রিপ্ট হোস্ট এক্সেকের মাধ্যমে অবজেক্টগুলি ব্যবহার WMIC
করাও একটি বিকল্প I এটি প্রতিটি উইন্ডোজ মেশিনে চালানো উচিত (যেখানে ডাব্লুএসএইচ বন্ধ রয়েছে তা বাদ দিয়ে তবে এটি একটি বিরল ঘটনা) eএখানে ব্যাট ফাইলটি যা ডাব্লুএমআইয়ের মাধ্যমে সমস্ত প্রক্রিয়া তালিকাভুক্ত করে lists ক্লাস এবং QPROCESS
উপরের স্ক্রিপ্টের পরিবর্তে ব্যবহার করা যেতে পারে (এটি একটি jscript / bat সংকর এবং এটি হিসাবে সংরক্ষণ করা উচিত .bat
):
@if (@X)==(@Y) @end /* JSCRIPT COMMENT **
@echo off
cscript //E:JScript //nologo "%~f0"
exit /b
************** end of JSCRIPT COMMENT **/
var winmgmts = GetObject("winmgmts:\\\\.\\root\\cimv2");
var colProcess = winmgmts.ExecQuery("Select * from Win32_Process");
var processes = new Enumerator(colProcess);
for (;!processes.atEnd();processes.moveNext()) {
var process=processes.item();
WScript.Echo( process.processID + " " + process.Name );
}
এবং একটি পরিবর্তন যা কোনও প্রক্রিয়া চলছে কিনা তা যাচাই করবে:
@if (@X)==(@Y) @end /* JSCRIPT COMMENT **
@echo off
if "%~1" equ "" echo pass the process name as forst argument && exit /b 1
:: first argument is the process you want to check if running
set process_to_check=%~1
cscript //E:JScript //nologo "%~f0" | find /i "%process_to_check%" >nul 2>&1 && (
echo process %process_to_check% is running
) || (
echo process %process_to_check% is not running
)
exit /b
************** end of JSCRIPT COMMENT **/
var winmgmts = GetObject("winmgmts:\\\\.\\root\\cimv2");
var colProcess = winmgmts.ExecQuery("Select * from Win32_Process");
var processes = new Enumerator(colProcess);
for (;!processes.atEnd();processes.moveNext()) {
var process=processes.item();
WScript.Echo( process.processID + " " + process.Name );
}
দুটি বিকল্প নেই এমন মেশিনে ব্যবহার করা যেতে পারে TASKLIST
।
চূড়ান্ত কৌশল ব্যবহার করা হয় MSHTA
। এটি এক্সপি এবং উপরের প্রতিটি উইন্ডোজ মেশিনে চলবে এবং উইন্ডোজ স্ক্রিপ্ট হোস্ট সেটিংসের উপর নির্ভর করে না। কলটি MSHTA
যদিও কিছুটা পারফরম্যান্স হ্রাস করতে পারে (আবার ব্যাট হিসাবে সংরক্ষণ করা উচিত):
@if (@X)==(@Y) @end /* JSCRIPT COMMENT **
@echo off
setlocal
if "%~1" equ "" echo pass the process name as forst argument && exit /b 1
:: first argument is the process you want to check if running
set process_to_check=%~1
mshta "about:<script language='javascript' src='file://%~dpnxf0'></script>" | find /i "%process_to_check%" >nul 2>&1 && (
echo process %process_to_check% is running
) || (
echo process %process_to_check% is not running
)
endlocal
exit /b
************** end of JSCRIPT COMMENT **/
var fso= new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1);
var winmgmts = GetObject("winmgmts:\\\\.\\root\\cimv2");
var colProcess = winmgmts.ExecQuery("Select * from Win32_Process");
var processes = new Enumerator(colProcess);
for (;!processes.atEnd();processes.moveNext()) {
var process=processes.item();
fso.Write( process.processID + " " + process.Name + "\n");
}
close();