এই প্রশ্নের ইতিমধ্যে এখানে একটি উত্তর আছে:
- 23 টি উত্তর সম্পূর্ণ লুকানো উপায়ে একটি ব্যাচ ফাইল চালান
উইন্ডোজ এক্সপি-তে, আমি একটি "কালো উইন্ডো" ছাড়াই শর্টকাটের মাধ্যমে একটি ব্যাচ (.bat বা .Cmd) ফাইল চালাতে পারি?
এই প্রশ্নের ইতিমধ্যে এখানে একটি উত্তর আছে:
উইন্ডোজ এক্সপি-তে, আমি একটি "কালো উইন্ডো" ছাড়াই শর্টকাটের মাধ্যমে একটি ব্যাচ (.bat বা .Cmd) ফাইল চালাতে পারি?
উত্তর:
উদাহরণস্বরূপ, wscript হিসাবে নিম্নলিখিতটি সংরক্ষণ করুন, hidecmd.vbs আপনার ব্যাচ ফাইলের নামের সাথে "টেস্টিং.বাট" প্রতিস্থাপনের পরে।
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false
এর দ্বিতীয় প্যারামিটারটি oShell.Run
হ'ল intWindowStyle
প্রোগ্রামটির উইন্ডোটির উপস্থিতি নির্দেশ করে এবং লুকানো উইন্ডোর জন্য শূন্য মান।
রেফারেন্সটি এখানে http://msdn.microsoft.com/en-us/library/d5fk67ky.aspx
.bat
এই পদ্ধতিটি ব্যবহার করে প্রশাসক হিসাবে ফাইল কীভাবে চালানো যায় ?
এটি শাজির উত্তরের সরলকরণ মাত্র। আপনি এইভাবে একটি ভিবিএস স্ক্রিপ্ট (.vbs) স্ক্রিপ্টের মাধ্যমে আপনার ব্যাচ স্ক্রিপ্টটি চালাতে পারেন :
'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
এটি কোনও কমান্ড উইন্ডো প্রদর্শিত না করে আপনার ব্যাচ ফাইলটি কার্যকর করবে।
.bat
এই পদ্ধতিটি ব্যবহার করে প্রশাসক হিসাবে ফাইল কীভাবে চালানো যায় ?
কেবলমাত্র "উইন্ডোজ স্ক্রিপ্টিং ব্যবহার করুন" এর উত্তরগুলিতে প্রসারিত করার জন্য (যা আমি ইতিমধ্যে অন্তর্নির্মিত বলে বিবেচনা করি) এটি কীভাবে একক র্যাপার স্ক্রিপ্ট ব্যবহার করে এবং প্যারামিটার হিসাবে "আসল" ব্যাচ ফাইলটির নাম পাস করার মাধ্যমে তা করা যায়। অতিরিক্ত পরামিতিগুলি ব্যাচ ফাইলে দেওয়া হবে।
If WScript.Arguments.Count >= 1 Then
ReDim arr(WScript.Arguments.Count-1)
For i = 0 To WScript.Arguments.Count-1
Arg = WScript.Arguments(i)
If InStr(Arg, " ") > 0 Then Arg = """" & Arg & """"
arr(i) = Arg
Next
RunCmd = Join(arr)
CreateObject("Wscript.Shell").Run RunCmd, 0, True
End If
উদাহরণস্বরূপ উপরের ফাইলটি NoShell.vbs
কোথাও সেভ করুন তারপরে কল করুন:
NoShell.vbs c:\foo\my_batch_file.bat
অবশেষে, আপনি এটি কোথাও থেকে চালাচ্ছেন যা .vbs ফাইলটি বুঝতে পারে না (যেমন ভিজ্যুয়াল স্টুডিওতে "বাহ্যিক সরঞ্জাম"), আপনি C:\Windows\System32\wscript.exe
ভিবিএস ফাইলটির সাথে তার প্রথম প্যারামিটার হিসাবে কল করতে চান এবং দ্বিতীয় হিসাবে ব্যাচ ফাইল।
"C:\My Files\HideCmd.vbs" c:\foo\my_batch_file.bat
।
"C:\My Files\HideCmd.vbs" c:\my things\my_batch_file.bat
। আমি পথটির জন্য যা চেষ্টা করি তা বিবেচনা না করে - এগুলির চারপাশে ডাবল উদ্ধৃতি, জায়গার জায়গায়% 20, বা two দুটির সংমিশ্রণ কিছুই কার্যকর করে না। আমি একটি ত্রুটি বার্তা পেয়েছি যা আমাকে জানিয়েছে যে ফাইলটি পাওয়া যায় না বা কিছুই ঘটে না। এটি কি আমার প্রান্তে ব্যবহারকারীর ত্রুটির কারণে, শর্টকাটগুলির জন্য টার্গেট ক্ষেত্রের সাথে একটি উইন্ডোজ সীমাবদ্ধতা, বা vbs স্ক্রিপ্টের কোনও সমস্যা যেখানে এটি ফাঁকা জায়গাগুলির সাথে সঠিকভাবে ফাইল পাথ পরিচালনা করে না?
'/ বি' বিকল্পটি দিয়ে শুরু করুন । উদাহরণ স্বরূপ:
@echo off
start /B go.bat
start /b
একটি নতুন তৈরি করার পরিবর্তে কেবলমাত্র বরাদ্দকৃত কনসোলে প্রোগ্রামটি চালাবে। ব্যাচটি যেহেতু সেন্টিমিডি দিয়ে চালাতে হবে সেভাবেই আপনি একটি নতুন পেয়ে যাবেন (যার ফলে [অবাক করে দিয়ে] কনসোল খোলে)।
SYSTEM
সি / সি ++ এর মতো) এর মাধ্যমে অন্যান্য অ্যাপ্লিকেশনগুলি থেকে ব্যাচ ফাইলগুলি চালু করতে খুব কার্যকর ।
cmd /c foo.cmd
। এই start
পরিস্থিতিতে ব্যবহার করার একেবারেই দরকার নেই , এবং আমি যুক্তি দিচ্ছি যে এটির system
পক্ষে ব্যবহার করা উচিত নয় CreateProcess
। ব্যাচ ফাইল চালু করে আপনি ইতিমধ্যে একটি প্ল্যাটফর্মের উপর নির্ভরশীল, আপনি কাজের জন্য আরও ভাল সরঞ্জামগুলি ব্যবহার করতে পারেন।
cmd /c
আগে কখনও শুনেনি । আমার ক্ষেত্রে সেন্টিমিডে কমান্ডটি আমার প্রয়োজন ছিল, তবে আমি এখনও অবধি সমস্ত স্ট্যাকেক্সচেঞ্জের উত্তর খুঁজে পেয়েছি, অন্য ব্যাচের ফাইল চালাচ্ছে এমন একটি ব্যাচের ফাইলটির শুরুতে শীর্ষ উত্তর রয়েছে ...
start /b go.bat
একটি নতুন কনসোল বরাদ্দ করবে না (যেমন কনহস্ট.এক্সির উদাহরণ - বা উইন্ডোজ before এর আগে csrss.exe এর একটি থ্রেড)। তবে এটি ব্যাঘাত সৃষ্টি করবে যেহেতু ব্যাচ স্ক্রিপ্টটি একই কনসোলের সাথে সংযুক্ত সেমিডি.এক্সএর একটি নতুন উদাহরণ দিয়ে চালিত হয়েছে । শেলের উভয় দৃষ্টান্ত কনসোল থেকে ইনপুট পড়ার প্রতিযোগিতা করবে, সাধারণত পর্যায়ক্রমে। দ্বিতীয় উদাহরণটির জন্য অপেক্ষা করার জন্য এটি /w
(উদাহরণস্বরূপ start /b /w go.bat
) প্রয়োজন , যা ব্যবহার cmd /c
করে ব্যবহার করার অনুরূপ system
। এছাড়াও, যদি আপনি কল করছেন CreateProcess
, go.bat
সরাসরি চালান । দরকার নেই cmd /c
।
বিনামূল্যে জিপিএল ওপেন সোর্স "হাইড প্রসেস তৈরি করুন"
http://www.commandline.co.uk/chp/
মাইক্রোসফ্ট সুরক্ষা প্রয়োজনীয়তা এবং সম্ভবত বেশিরভাগ অন্যান্য ভাইরাস / ম্যালওয়্যার স্ক্যানারগুলি এক্সিকিউটেবল, chp.exe কে একটি ভাইরাস হিসাবে বিবেচনা করবে কারণ এটি কোনও উইন্ডো বা টাস্ক বার বোতাম প্রদর্শন করা থেকে আপনার নির্দিষ্ট করা প্রোগ্রামকে যেমন ভাইরাস দ্বারা আড়াল করে vir
এটি কোনও ভাইরাস নয়। উদাহরণস্বরূপ এটি টাস্ক ম্যানেজারে উপস্থিত হওয়া থেকে লক্ষ্য প্রক্রিয়াটি আড়াল করে না। এবং অবশ্যই উত্স কোডটি অন্তর্ভুক্ত করা হয়েছে যাতে আপনি দেখতে পান যে এটি খুব ছোট এবং আপনি যা কিছু প্রোগ্রাম দিন তা চালান না।
আপনি এমনকি বিশ্বাস করতে হবে না যে অন্তর্ভুক্ত chp.exe সত্যই উত্স থেকে নির্মিত হয়েছিল। আপনি এগিয়ে যান এবং অন্তর্ভুক্ত chp.exe বাতিল করতে পারেন এবং উত্স থেকে আপনার নিজস্ব সংকলন করতে পারেন, এবং এটি করার জন্য প্রয়োজনীয় সমস্ত সরঞ্জাম এমনকি বিনামূল্যে এবং ডাউনলোডযোগ্য।
আপনি .bat বা .Cmd ফাইলটিতে কেবল একটি শর্টকাট তৈরি করতে পারেন, তারপরে শর্টকাট, প্রোপার্টি, শর্টকাট ট্যাব, রান: মিনিমাইজড এ ডান ক্লিক করুন। তারপরে নির্ধারিত কার্যগুলিতে, সরাসরি .bat / .Cmd ফাইলের পরিবর্তে শর্টকাটটি ব্যবহার করুন। এটি উইন্ডোটিকে পপিং করতে বাধা দেবে, তবে একটি টাস্কবারের বোতামটি এখনও উপস্থিত হবে।
আপনি উইন্ডো স্ক্রিপ্টিং যেমন অটোআইটি ব্যবহার করতে পারেন ।
উদাহরণ হিসাবে, কেবল এটি অটোআইটি স্ক্রিপ্ট সম্পাদককে লিখুন। এটা মোটামুটি সহজ
Run("C:\test\batchfile.bat", "", @SW_HIDE)
আপনি যদি এটি একটি লুপে চালাতে চান,
$x=0
Do
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Sleep(5000)
Until $x = 1
এটি .exe হিসাবে সংকলন করুন - এবং আপনি সম্পন্ন করেছেন।
তেমনি, অটোহটকিতে :
#NoTrayIcon ; To prevent momentary icon pop-up
run whatever.bat arg1 arg2,,hide
ব্যবহারের লুকানো স্টার্ট (দাম নির্ধারণ $ 20)
লুকানো শুরু - কনসোল উইন্ডো বা ইউএসি প্রম্পট ছাড়াই অ্যাপ্লিকেশন এবং ব্যাচ ফাইলগুলি চালান
কনসোল অ্যাপ্লিকেশন এবং ব্যাচ ফাইলগুলি নিয়মিত উইন্ডোজ স্টার্টআপে বা একটি সময়সূচীতে চালিত হয়। এর প্রধান অসুবিধা হ'ল প্রতিটি অ্যাপ্লিকেশন একটি কনসোল উইন্ডো খোলে যা স্ক্রিনে ফ্লিকার হয়। হাইড স্টার্ট (বা Hstart) একটি লাইটওয়েট কমান্ড লাইন ইউটিলিটি যা আপনাকে ব্যাকগ্রাউন্ডে কোনও উইন্ডো ছাড়াই কনসোল অ্যাপ্লিকেশন এবং ব্যাচ ফাইলগুলি চালাতে, উইন্ডোজ 7 এবং ভিস্তার অধীনে ইউএসি সুবিধার উচ্চতা পরিচালনা করতে, সমান্তরাল বা সুসংগতভাবে একাধিক কমান্ড শুরু করতে এবং আরও অনেক কিছু করতে দেয় ।
কোনও অতিরিক্ত প্রোগ্রাম ব্যবহার না করে সহজ সমাধান।
শুভকামনা!