প্রোগ্রামটি শুরুর পরে কনসোলটি খোলা না রেখে আমি কীভাবে একটি ব্যাচ ফাইল থেকে একটি প্রোগ্রাম চালাতে পারি?


184

এই মুহুর্তের জন্য আমার ব্যাচের ফাইলটি এমন দেখাচ্ছে:

myprogram.exe param1

প্রোগ্রামটি শুরু হয় তবে ডস উইন্ডোটি উন্মুক্ত থাকে। আমি কীভাবে এটি বন্ধ করতে পারি?


3
আপনার সম্ভবত পোস্ট করা মার্শালটির গৃহীত উত্তরটি পরিবর্তন করা উচিত।
Rev1.0

উত্তর:


163

আপনি প্রস্থান কীওয়ার্ডটি ব্যবহার করতে পারেন। আমার ব্যাচের ফাইলগুলির একটির উদাহরণ এখানে:

start myProgram.exe param1
exit

18
মনে রাখবেন যে আপনি যদি কোনও ব্যাচের ফাইলে ডাবল ক্লিক করার পরিবর্তে ইন্টারভিটিভভাবে কনসোলটি ব্যবহার করেন তবে এটি দুর্দান্ত জিনিসগুলি করবে না। সাধারণত কোনও exitব্যাচের ফাইল রাখার দরকার নেই।
জো

26
আমি উইন 8 এ এই কমান্ডটি চেষ্টা করেছিলাম। আমি এটির থেকে আলাদা কিনা তা সম্পর্কে নিশ্চিত নই, তবে নোট করুন যে আপনাকে অবশ্যই এটির প্রথম প্যারামিটার হিসাবে একটি উইন্ডো শিরোনাম সরবরাহ করতে হবে। যখন আমি এটি প্যাট্রিকের বর্ণনা অনুসারে চালিত করব তখন এটি উইন্ডো শিরোনাম হিসাবে "মাইপ্রগ্রাম.এক্সি" সহ একটি নতুন কমান্ড প্রম্পটটি খুলবে:start "VPN" "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"
অ্যাডাম প্লোচার

8
মনে রাখবেন যে যদি আপনার কমান্ডে ফাঁকা জায়গা থাকে এবং আপনি এটি উদ্ধৃতিতে রেখে দেন তবে অবশ্যই এটির আগে আপনাকে একটি অতিরিক্ত উদ্ধৃত প্যারামিটার যুক্ত করতে হবে, যেমন START প্রথম উদ্ধৃত প্যারামিটারটিকে উইন্ডো নাম এবং কেবল কমান্ডের নাম হিসাবে ফলোয়িং দ্বিতীয় পরামিতিটিকে ব্যাখ্যা করে।
ডেভিড বালাইচ

257

প্রোগ্রামটির অপেক্ষায় ব্যাচ ফাইলটি আটকাতে স্টার্ট কমান্ডটি ব্যবহার করুন। আপনি যে প্রোগ্রামটি "স্টার্ট" এর পরে চালাতে চান তার সামনে একটি খালি ডাবল উদ্ধৃতি রাখার কথা মনে রাখবেন। উদাহরণস্বরূপ, আপনি যদি ব্যাচ কমান্ড থেকে ভিজ্যুয়াল স্টুডিও 2012 চালাতে চান:

Start ""  "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"

শুরু করার পরে ডাবল উদ্ধৃতি লক্ষ্য করুন।


55
@ শার্কএল্লি সঠিক ফর্ম্যাটটি হ'লstart <window name> <program name>
ক্রুগ

5
এটা সঠিক উত্তর. ধন্যবাদ, খালি ডাবল উক্তিগুলি হ'ল আমার যা প্রয়োজন।
রিচার্ড

আমার একটি ব্যাকআপ স্ক্রিপ্ট রয়েছে যা আমি সাপ্তাহিকভাবে চালিত করি এবং এটি প্রতি সপ্তাহে এটিকে সামান্য পরিমাণে সংশোধন করে, ক) আমার প্রোগ্রামটি বন্ধ করুন, খ) আমার ডেটা ব্যাকআপ করুন এবং গ) প্রোগ্রামটি পুনরায় চালু করুন এবং কমান্ড প্রম্পটটি বন্ধ করুন। অবশেষে এটি কমান্ড প্রম্পটটি বন্ধ হয়ে যায় (আমার পরবর্তী ব্যাকআপটি ট্রিগার হতে বাধা দেয়, আমাকে সেই কমান্ড প্রম্পটটি বন্ধ করতে হয়েছিল !!!)।
NobleUplift

@ নোবেলপ্লিট: আমার জন্য এটি কাজ করেছে, .. নীচে সঠিক লাইনটি শুরু করুন, "" "সি: \ প্রোগ্রাম ফাইলগুলি (x86) et জেটব্রেইনস \ ইন্টেলিজ আইডিইএ 2016.2.5 \ বিন \ আইডিয়া 64.exe" এবং
জিনাস

53

শুরু কমান্ডটি দেখুন, আপনি এটি করতে পারেন:

START rest-of-your-program-name

উদাহরণস্বরূপ, এই ব্যাচ-ফাইলটি নোটপ্যাডটি না বের হওয়া পর্যন্ত অপেক্ষা করবে:

@echo off
notepad c:\test.txt

তবে, এটি করবে না:

@echo off
start notepad c:\test.txt

31

আমার নিজের প্রশ্ন থেকে :

start /b myProgram.exe params...

আপনি যদি কোনও বিদ্যমান ডস সেশন থেকে প্রোগ্রাম শুরু করেন তবে কাজ করে।

যদি তা না হয় তবে একটি ভিবি স্ক্রিপ্ট কল করুন

wscript.exe invis.vbs myProgram.exe %*

উইন্ডোজ স্ক্রিপ্ট হোস্ট চালান () মেথড লাগে:

  • #WindowStyle: 0 এর অর্থ "অদৃশ্য উইন্ডো"
  • bWaitOnReturn: মিথ্যা মানে আপনার প্রথম স্ক্রিপ্টটি আপনার দ্বিতীয় স্ক্রিপ্টটি শেষ হওয়ার অপেক্ষা করতে হবে না

এখানে 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

1
+1 একটি সহজ উপায় হতে পারে, কিন্তু এটিই আমার পক্ষে কাজ করেছে answer
ডিএন

ধন্যবাদ - যে / বি পতাকাটি আমি ঠিক তাই খুঁজছিলাম।
এপি

21

আমি যখন ব্যাচের ফাইল থেকে জাভা ক্লাস চালানোর চেষ্টা করেছি তখন এটিই আমার পক্ষে কাজ করেছিল:

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)

18

আপনার এটি চেষ্টা করা উচিত। এটি উইন্ডো না দিয়ে প্রোগ্রাম শুরু করে। এটি আসলে এক সেকেন্ডের জন্য জ্বলজ্বল করে তবে মোটামুটি দ্রুত চলে যায়।

start "name" /B myprogram.exe param1

4
"title"বিকল্প গুরুত্বপূর্ণ। প্রোগ্রামের পথে যদি ফাঁকা স্থান অন্তর্ভুক্ত থাকে তবে এটিকে উদ্ধৃতি দ্বারা আবদ্ধ করতে হবে সুতরাং "title"ব্যর্থতা এড়াতে আমাদের যুক্ত করতে হবে।
এডি

1
আপনি যদি প্রধান উইন্ডোটি বন্ধ করেন তবে ব্যাকগ্রাউন্ড প্রক্রিয়া 'myprogram.exe'ও বন্ধ হয়ে যায়।
আদিত্য গুপ্ত

14

"স্থান সমস্যা" এবং স্থানীয় নির্ভরতা কীভাবে সমাধান করবেন:

@echo off
cd "C:\Program Files\HeidiSQL"
start heidisql.exe

cd "C:\Program Files (x86)\Google\Chrome\Application"
start chrome.exe

exit

এটি প্রশ্নের উত্তর নয়
18'15

2
সত্য, তবে আমি মনে করি এটি একটি ভাল সমাধান দেয় যা আমার অন্যান্য সমস্যাগুলিও সমাধান করে।
গিলকো

2
আমার জন্য সমাধান ছিল। ডস উইন্ডোটি খোলে তবে আবার বন্ধ হয় এবং সমাধানটি কাজ করে। আমি
ডাউনভোটগুলি

অমি ও না. সমাধানটি কাজ করে, এবং সমস্যার সমাধান করে
গিলকো

2

এই প্রশ্নের উত্তর ইতিমধ্যে প্রচুর, তবে আমি গুরুত্বপূর্ণ কিছু স্পষ্ট করার জন্য এটি পোস্ট করছি, যদিও এটি সর্বদা ক্ষেত্রে নাও হতে পারে:

Start "C:\Program Files\someprog.exe"

কিছু উইন্ডোজ সংস্করণগুলিতে সমস্যার কারণ হতে পারে Startযা কোটেশন চিহ্নের প্রথম সেটটিকে উইন্ডোজ শিরোনাম হিসাবে প্রত্যাশা করে। সুতরাং প্রথমে কোনও মন্তব্য, বা একটি ফাঁকা মন্তব্য ডাবল করা ভাল অনুশীলন:

Start "" "C:\Program Files\someprog.exe"

অথবা

Start "Window Title" "C:\Program Files\someprog.exe"

0

জিইউআই থেকে এটি করার জন্য আমার সমাধান:

  1. আপনি যে প্রোগ্রামটি চালাতে চান তাতে একটি শর্টকাট তৈরি করুন;

  2. শর্টকাটের বৈশিষ্ট্যগুলি সম্পাদনা করুন;

  3. TARGETক্ষেত্রটি এতে পরিবর্তন করুন %COMSPEC% /C "START "" "PROGRAMNAME"";

  4. পরিবর্তন RUNকমিয়ে আনা থেকে ক্ষেত্র।

প্রস্তুত! আপনি এটি পছন্দ করেন দেখুন ...

PS: প্রোগ্রামের প্যারামিটারগুলি দুটি চূড়ান্ত উদ্ধৃতি চিহ্নের মধ্যে সন্নিবেশ করা যেতে পারে; PROGRAMNAMEস্ট্রিং হয় একটি ফাইলের নাম, একটি আপেক্ষিক বা একটি সুনির্দিষ্ট পাথ হতে পারে - যদি আপনি একটি সুনির্দিষ্ট পাথ রাখা এবং ড্রাইভ লেটার এবং সেমিকোলন মুছে ফেলুন, তারপর এই একটি কাজ করবে কি চিঠি এটি হোস্ট কম্পিউটার নির্ধারণ কোন ব্যাপার thumbdrive .. । (এছাড়াও, আপনি যদি একই ফোল্ডারে শর্টকাটটি রাখেন এবং প্রোগ্রামের ফাইলনামটি ভেরিয়েবলের PROGRAMNAMEসাথে আগে রাখেন তবে %CD%পাথ সবসময় মিলবে; একই কৌশলটি START INফিল্ডে ব্যবহার করা যেতে পারে )।


0

যদি এই ব্যাচ ফাইলটি এমন কিছু হয় যা আপনি নির্ধারিত বা সর্বদা হিসাবে চালাতে চান; আপনি উইন্ডোজ শিডিউল সরঞ্জামটি ব্যবহার করতে পারেন এবং এটি যখন ব্যাচ ফাইলটি শুরু করে তখন এটি কোনও উইন্ডোতে খোলে না।

খোলার জন্য Task Scheduler:

  • শুরু -> চালান / অনুসন্ধান -> 'cmd'
  • প্রকার taskschd.msc-> প্রবেশ করুন

ডান দিক থেকে ক্লিক করুন Create Basic Task এবং মেনু অনুসরণ করুন।

আশাকরি এটা সাহায্য করবে.


0

এখানে আমার পছন্দসই সমাধান। এটি একটি উত্তর থেকে নেওয়া হয়েছে একটি অনুরূপ প্রশ্নের ।

ব্যাচ ফাইলে কল করতে একটি ভিবিএস স্ক্রিপ্ট ব্যবহার করুন:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\path\to\your\batchfile.bat" & Chr(34), 0
Set WshShell = Nothing

উপরের রেখাগুলি একটি সম্পাদকে অনুলিপি করুন এবং .VBS এক্সটেনশন দিয়ে ফাইলটি সংরক্ষণ করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.