এই মুহুর্তের জন্য আমার ব্যাচের ফাইলটি এমন দেখাচ্ছে:
myprogram.exe param1
প্রোগ্রামটি শুরু হয় তবে ডস উইন্ডোটি উন্মুক্ত থাকে। আমি কীভাবে এটি বন্ধ করতে পারি?
এই মুহুর্তের জন্য আমার ব্যাচের ফাইলটি এমন দেখাচ্ছে:
myprogram.exe param1
প্রোগ্রামটি শুরু হয় তবে ডস উইন্ডোটি উন্মুক্ত থাকে। আমি কীভাবে এটি বন্ধ করতে পারি?
উত্তর:
আপনি প্রস্থান কীওয়ার্ডটি ব্যবহার করতে পারেন। আমার ব্যাচের ফাইলগুলির একটির উদাহরণ এখানে:
start myProgram.exe param1
exit
exit
ব্যাচের ফাইল রাখার দরকার নেই।
start "VPN" "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"
প্রোগ্রামটির অপেক্ষায় ব্যাচ ফাইলটি আটকাতে স্টার্ট কমান্ডটি ব্যবহার করুন। আপনি যে প্রোগ্রামটি "স্টার্ট" এর পরে চালাতে চান তার সামনে একটি খালি ডাবল উদ্ধৃতি রাখার কথা মনে রাখবেন। উদাহরণস্বরূপ, আপনি যদি ব্যাচ কমান্ড থেকে ভিজ্যুয়াল স্টুডিও 2012 চালাতে চান:
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
শুরু করার পরে ডাবল উদ্ধৃতি লক্ষ্য করুন।
start <window name> <program name>
শুরু কমান্ডটি দেখুন, আপনি এটি করতে পারেন:
START rest-of-your-program-name
উদাহরণস্বরূপ, এই ব্যাচ-ফাইলটি নোটপ্যাডটি না বের হওয়া পর্যন্ত অপেক্ষা করবে:
@echo off
notepad c:\test.txt
তবে, এটি করবে না:
@echo off
start notepad c:\test.txt
আমার নিজের প্রশ্ন থেকে :
start /b myProgram.exe params...
আপনি যদি কোনও বিদ্যমান ডস সেশন থেকে প্রোগ্রাম শুরু করেন তবে কাজ করে।
যদি তা না হয় তবে একটি ভিবি স্ক্রিপ্ট কল করুন
wscript.exe invis.vbs myProgram.exe %*
উইন্ডোজ স্ক্রিপ্ট হোস্ট চালান () মেথড লাগে:
এখানে invis.vbs:
set args = WScript.Arguments
num = args.Count
if num = 0 then
WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
WScript.Quit 1
end if
sargs = ""
if num > 1 then
sargs = " "
for k = 1 to num - 1
anArg = args.Item(k)
sargs = sargs & anArg & " "
next
end if
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
আমি যখন ব্যাচের ফাইল থেকে জাভা ক্লাস চালানোর চেষ্টা করেছি তখন এটিই আমার পক্ষে কাজ করেছিল:
start "cmdWindowTitle" /B "javaw" -cp . testprojectpak.MainForm
আপনি কাস্টমাইজ করতে পারেন start
আপনার প্রকল্পের জন্য যথাযথ বাক্য গঠন অনুসরণ করে আপনি কমান্ডটি করতে পারেন:
Syntax
START "title" [/Dpath] [options] "command" [parameters]
Key:
title : Text for the CMD window title bar (required)
path : Starting directory
command : The command, batch file or executable program to run
parameters : The parameters passed to the command
Options:
/MIN : Minimized
/MAX : Maximized
/WAIT : Start application and wait for it to terminate
/LOW : Use IDLE priority class
/NORMAL : Use NORMAL priority class
/HIGH : Use HIGH priority class
/REALTIME : Use REALTIME priority class
/B : Start application without creating a new window. In this case
^C will be ignored - leaving ^Break as the only way to
interrupt the application
/I : Ignore any changes to the current environment.
Options for 16-bit WINDOWS programs only
/SEPARATE Start in separate memory space (more robust)
/SHARED Start in shared memory space (default)
আপনার এটি চেষ্টা করা উচিত। এটি উইন্ডো না দিয়ে প্রোগ্রাম শুরু করে। এটি আসলে এক সেকেন্ডের জন্য জ্বলজ্বল করে তবে মোটামুটি দ্রুত চলে যায়।
start "name" /B myprogram.exe param1
"title"
বিকল্প গুরুত্বপূর্ণ। প্রোগ্রামের পথে যদি ফাঁকা স্থান অন্তর্ভুক্ত থাকে তবে এটিকে উদ্ধৃতি দ্বারা আবদ্ধ করতে হবে সুতরাং "title"
ব্যর্থতা এড়াতে আমাদের যুক্ত করতে হবে।
"স্থান সমস্যা" এবং স্থানীয় নির্ভরতা কীভাবে সমাধান করবেন:
@echo off
cd "C:\Program Files\HeidiSQL"
start heidisql.exe
cd "C:\Program Files (x86)\Google\Chrome\Application"
start chrome.exe
exit
এই প্রশ্নের উত্তর ইতিমধ্যে প্রচুর, তবে আমি গুরুত্বপূর্ণ কিছু স্পষ্ট করার জন্য এটি পোস্ট করছি, যদিও এটি সর্বদা ক্ষেত্রে নাও হতে পারে:
Start "C:\Program Files\someprog.exe"
কিছু উইন্ডোজ সংস্করণগুলিতে সমস্যার কারণ হতে পারে Start
যা কোটেশন চিহ্নের প্রথম সেটটিকে উইন্ডোজ শিরোনাম হিসাবে প্রত্যাশা করে। সুতরাং প্রথমে কোনও মন্তব্য, বা একটি ফাঁকা মন্তব্য ডাবল করা ভাল অনুশীলন:
Start "" "C:\Program Files\someprog.exe"
অথবা
Start "Window Title" "C:\Program Files\someprog.exe"
জিইউআই থেকে এটি করার জন্য আমার সমাধান:
আপনি যে প্রোগ্রামটি চালাতে চান তাতে একটি শর্টকাট তৈরি করুন;
শর্টকাটের বৈশিষ্ট্যগুলি সম্পাদনা করুন;
TARGET
ক্ষেত্রটি এতে পরিবর্তন করুন %COMSPEC% /C "START "" "PROGRAMNAME""
;
পরিবর্তন RUN
কমিয়ে আনা থেকে ক্ষেত্র।
প্রস্তুত! আপনি এটি পছন্দ করেন দেখুন ...
PS: প্রোগ্রামের প্যারামিটারগুলি দুটি চূড়ান্ত উদ্ধৃতি চিহ্নের মধ্যে সন্নিবেশ করা যেতে পারে; PROGRAMNAME
স্ট্রিং হয় একটি ফাইলের নাম, একটি আপেক্ষিক বা একটি সুনির্দিষ্ট পাথ হতে পারে - যদি আপনি একটি সুনির্দিষ্ট পাথ রাখা এবং ড্রাইভ লেটার এবং সেমিকোলন মুছে ফেলুন, তারপর এই একটি কাজ করবে কি চিঠি এটি হোস্ট কম্পিউটার নির্ধারণ কোন ব্যাপার thumbdrive .. । (এছাড়াও, আপনি যদি একই ফোল্ডারে শর্টকাটটি রাখেন এবং প্রোগ্রামের ফাইলনামটি ভেরিয়েবলের PROGRAMNAME
সাথে আগে রাখেন তবে %CD%
পাথ সবসময় মিলবে; একই কৌশলটি START IN
ফিল্ডে ব্যবহার করা যেতে পারে )।
যদি এই ব্যাচ ফাইলটি এমন কিছু হয় যা আপনি নির্ধারিত বা সর্বদা হিসাবে চালাতে চান; আপনি উইন্ডোজ শিডিউল সরঞ্জামটি ব্যবহার করতে পারেন এবং এটি যখন ব্যাচ ফাইলটি শুরু করে তখন এটি কোনও উইন্ডোতে খোলে না।
খোলার জন্য Task Scheduler
:
'cmd'
taskschd.msc
-> প্রবেশ করুনডান দিক থেকে ক্লিক করুন Create Basic Task
এবং মেনু অনুসরণ করুন।
আশাকরি এটা সাহায্য করবে.
এখানে আমার পছন্দসই সমাধান। এটি একটি উত্তর থেকে নেওয়া হয়েছে একটি অনুরূপ প্রশ্নের ।
ব্যাচ ফাইলে কল করতে একটি ভিবিএস স্ক্রিপ্ট ব্যবহার করুন:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\path\to\your\batchfile.bat" & Chr(34), 0
Set WshShell = Nothing
উপরের রেখাগুলি একটি সম্পাদকে অনুলিপি করুন এবং .VBS এক্সটেনশন দিয়ে ফাইলটি সংরক্ষণ করুন।