पल मेरी बैच फ़ाइल इस तरह दिखना के लिए:कार्यक्रम शुरू होने के बाद कंसोल खोलने के बिना मैं बैच फ़ाइल से प्रोग्राम कैसे चला सकता हूं?
myprogram.exe param1
कार्यक्रम शुरू लेकिन डॉस विंडोज अभी भी खुला ... मैं इसे कैसे बंद कर सकते हैं?
पल मेरी बैच फ़ाइल इस तरह दिखना के लिए:कार्यक्रम शुरू होने के बाद कंसोल खोलने के बिना मैं बैच फ़ाइल से प्रोग्राम कैसे चला सकता हूं?
myprogram.exe param1
कार्यक्रम शुरू लेकिन डॉस विंडोज अभी भी खुला ... मैं इसे कैसे बंद कर सकते हैं?
आप बाहर निकलें कीवर्ड का उपयोग कर सकते हैं। यहाँ मेरी बैच फ़ाइलों में से एक से एक उदाहरण है: स्टार्ट आदेश पर
start myProgram.exe param1
exit
देखो, तो आप ऐसा कर सकते हैं:
START rest-of-your-program-name
उदाहरण के लिए, इस बैच फ़ाइल नोटपैड बाहर निकलता है जब तक इंतजार करेंगे:
@echo off
notepad c:\test.txt
बहरहाल, यह नहीं होगा:
@echo off
start notepad c:\test.txt
आपको यह कोशिश करनी चाहिए। यह प्रोग्राम को बिना खिड़की से शुरू करता है। यह वास्तव में एक सेकंड के लिए चमकती है लेकिन काफी जल्दी चली जाती है।
start "name" /B myprogram.exe param1
'शीर्षक" 'विकल्प महत्वपूर्ण है। यदि कार्यक्रम के पथ में रिक्त स्थान शामिल हैं तो इसे उद्धरणों से संलग्न किया जाना चाहिए, इस प्रकार हमें विफलता से बचने के लिए 'शीर्षक' 'जोड़ना होगा। –
मेरी own question से:
start /b myProgram.exe params...
काम करता है अगर आप एक मौजूदा डॉस सत्र से कार्यक्रम शुरू करते हैं।
यदि नहीं, तो एक vb स्क्रिप्ट
wscript.exe invis.vbs myProgram.exe %*
फोन Windows Script Host Run() method लेता है:
यहां आने के लिए अपनी दूसरी स्क्रिप्ट का इंतजार करें s.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 एक आसान तरीका होना चाहिए, लेकिन यह एकमात्र उत्तर है जो मेरे लिए काम करता है। –
धन्यवाद - वह/बी ध्वज बिल्कुल वही था जो मैं ढूंढ रहा था। –
जीयूआई से यह करने के लिए मेरे समाधान:
कार्यक्रम आप चलाना चाहते हैं के लिए एक शॉर्टकट बनाएं;
शॉर्टकट गुणों को संपादित करें;
TARGET
फ़ील्ड को %COMSPEC% /C "START "" "PROGRAMNAME""
पर बदलें;
RUN
फ़ील्ड को कम करने के लिए बदलें।
तैयार! देखें कि आप इसे कैसे पसंद करते हैं ...
पीएस: प्रोग्राम पैरामीटर दो अंतिम उद्धरण चिह्नों के बीच में डाला जा सकता है; PROGRAMNAME
स्ट्रिंग या तो एक फ़ाइल नाम, एक सापेक्ष या पूर्ण पथ हो सकता है - यदि आप एक पूर्ण पथ डालते हैं और ड्राइव अक्षर और अर्धविराम मिटाते हैं, तो यह एक थंबड्राइव में काम करेगा चाहे कोई भी मेजबान कंप्यूटर इसे असाइन करता है। .. (भी, यदि आप एक ही फ़ोल्डर में शॉर्टकट डालते हैं और में %CD%
चर के साथ प्रोग्राम फ़ाइल नाम से पहले, पथ हमेशा मिलान करेंगे; उसी चाल का उपयोग START IN
फ़ील्ड में किया जा सकता है)।
यह केवल बात यह है कि मेरे लिए काम किया जब मैं एक बैच फ़ाइल से एक जावा वर्ग भागने की कोशिश की है:
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)
बैच फ़ाइल को प्रोग्राम की प्रतीक्षा से रोकने के लिए प्रारंभ कमांड का उपयोग करें। बस "स्टार्ट" के बाद चलाने के लिए प्रोग्राम के सामने एक खाली डबल कोट डालना याद रखें। उदाहरण के लिए, यदि आप एक बैच आदेश से Visual Studio 2012 चलाना चाहते हैं:
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
नोटिस शुरू होने के बाद दोहरे उद्धरण।
वाह ... कोई भी जानता है कि यह क्यों काम करता है? – SharkAlley
@ शार्कएली उचित प्रारूप '
यह सही उत्तर है। धन्यवाद, खाली डबल उद्धरण बिल्कुल वही हैं जो मुझे चाहिए था। – Richard
यदि यह बैच फ़ाइल ऐसा कुछ है जिसे आप निर्धारित या हमेशा के रूप में चलाने के लिए चाहते हैं; आप विंडोज शेड्यूल टूल का उपयोग कर सकते हैं और यह बैच फ़ाइल शुरू होने पर विंडो में खुलता नहीं है।
Task Scheduler
खोलने के लिए:
'cmd'
taskschd.msc
-> प्रवेशदाईं ओर से, Create Basic Task
क्लिक करें और मेनू का पालन करें।
उम्मीद है कि इससे मदद मिलती है।
कैसे हल करने के लिए "अंतरिक्ष समस्या" और स्थानीय निर्भरता:
@echo off
cd "C:\Program Files\HeidiSQL"
start heidisql.exe
cd "C:\Program Files (x86)\Google\Chrome\Application"
start chrome.exe
exit
यह नहीं है प्रश्न – jeb
प्रश्न का उत्तर सच है, लेकिन मुझे लगता है कि यह एक अच्छा समाधान है जो मेरे पास अन्य समस्याओं का समाधान भी करता है। – Gilco
मेरे लिए समाधान था। डॉस विंडो खुलती है लेकिन फिर बंद हो जाती है और समाधान काम करता है। मैं डाउनवॉट्स को समझ नहीं पा रहा हूं (मैंने ऊपर उठाया) – JoeFox
यहाँ मेरी पसंदीदा समाधान है। इसे एक समान प्रश्न पर answer से लिया गया है। एक संपादक के ऊपर लाइनों
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\path\to\your\batchfile.bat" & Chr(34), 0
Set WshShell = Nothing
कॉपी और .vbs एक्सटेंशन के साथ फ़ाइल सहेजें:
बैच फ़ाइल कॉल करने के लिए एक VBS स्क्रिप्ट का प्रयोग करें।
मैं इस समस्या हो रही थी और मेरे लिए काम किया है:
run myprogram.exe param1
ध्यान दें कि यह अगर आप एक बैच फ़ाइल पर सांत्वना सहभागी के बजाय बस डबल क्लिक उपयोग कर रहे हैं नहीं अच्छा काम करेंगे। आम तौर पर बैच फ़ाइल में 'बाहर निकलने' की आवश्यकता नहीं होती है। – Joey
मैंने Win8 में इस आदेश को आजमाया। मुझे यकीन नहीं है कि यह अलग है, लेकिन ध्यान दें कि आपको इसे अपने पहले पैरामीटर के रूप में विंडो शीर्षक प्रदान करना होगा।जब मैं पैट्रिक का वर्णन करता हूं, तो यह "myProgram.exe" के साथ विंडो शीर्षक के रूप में एक नया कमांड प्रॉम्प्ट खुलता है: 'प्रारंभ करें' वीपीएन "" सी: \ प्रोग्राम फ़ाइलें (x86) \ सिस्को \ सिस्को कोई भी कनेक्ट सुरक्षित गतिशीलता क्लाइंट \ vpnui.exe "' –
ध्यान दें कि यदि आपके आदेश में रिक्त स्थान हैं और आप इसे उद्धरण में डालते हैं, तो आपको इससे पहले एक अतिरिक्त उद्धृत पैरामीटर जोड़ना होगा, क्योंकि स्टार्ट पहले उद्धृत पैरामीटर को विंडो नाम के रूप में परिभाषित करता है और केवल कमांड के रूप में दूसरा पैरामीटर नाम। –