আমি 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();