प्रारंभ कार्यक्रम में दिए गए मापदंडों के साथ "स्टार्ट" कमांड का उपयोग करना


223

मेरे पास वर्चुअल पीसी 2007 में एक वर्चुअल मशीन है।

इसे डेस्कटॉप से ​​शुरू करने के लिए, मेरे पास एक बैच फ़ाइल में निम्न कमांड है:

"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch

लेकिन जब तक वर्चुअल मशीन बंद नहीं हो जाती, तब तक मैं मेजबान मशीन पर एक डॉस प्रॉम्प्ट छोड़ देता हूं और मैं वर्चुअल पीसी कंसोल से बाहर निकल जाता हूं। यह परेशान करने वाला है।

इसलिए मैंने इसके बजाय START कमांड का उपयोग करने के लिए अपनी कमांड बदल दी:

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch

लेकिन यह वर्चुअल पीसी में पारित मापदंडों पर चुटकी लेता है।

START /?इंगित करता है कि पैरामीटर वास्तव में उस स्थान पर जाते हैं। क्या किसी ने कई कमांड-लाइन तर्कों के साथ प्रोग्राम लॉन्च करने के लिए START का उपयोग किया है?

जवाबों:


466

START में पहले पैरामीटर के आसपास दोहरे उद्धरण चिह्नों वाली ख़ासियत है। यदि पहले पैरामीटर में दोहरे उद्धरण चिह्नों का उपयोग होता है तो नई विंडो के लिए वैकल्पिक शीर्षक के रूप में।

मुझे विश्वास है कि आप क्या चाहते हैं:

start "" "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch

दूसरे शब्दों में, इसे नकली करने के लिए कार्यक्रम के नाम से पहले इसे एक खाली शीर्षक दें।


2
क्या यह पदावनत है? विन 7 में मुझे मिलता हैStart-Process : Cannot validate argument on parameter 'FilePath'. The argument is null or empty. Supply an argument that is not null or empty and then try the command again
जियोथेट्री

1
किसने कल्पना की होगी। Microsoft को इस 'ख़ासियत' को ठीक करने के लिए बस आपके उत्तर तक की संख्या पर्याप्त होनी चाहिए।
पीयूष सोनी

7
@geotheory मुझे एहसास है कि यह एक पुरानी टिप्पणी है, लेकिन PowerShell में, Start- प्रक्रिया के लिए एक उपनाम है। Cmd.exe में (थोड़ा सा, लेकिन नहीं पदावनत) "प्रारंभ" अलग है। वे दोनों अन्य प्रक्रियाओं को शुरू करने के लिए हैं, लेकिन शुरुआत सीएमडी में एक पुरानी एम्बेडेड कमांड है।
एडम प्लोचर

इससे मुझे बहुत सिरदर्द हुआ। समाधान के लिए धन्यवाद!
uceumern

15

एक बैच फ़ाइल के बजाय, आप डेस्कटॉप पर एक शॉर्टकट बना सकते हैं।

लक्ष्य निर्धारित करें:

"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch

और आप सभी सेट हैं। चूंकि आप इसे लॉन्च करने के लिए कमांड प्रॉम्प्ट शुरू नहीं कर रहे हैं, इसलिए कोई डॉस बॉक्स नहीं होगा।


3

रिक्त स्थान DOS / CMDs समस्याएं हैं, जिससे आपको रास्ते से जाना चाहिए:

cd "c:\program files\Microsoft Virtual PC"

और फिर बस VPC के माध्यम से शुरू करें:

start Virtual~1.exe -pc MY-PC -launch

~1पहले इसका मतलब है exeके साथ "Virtual"शुरुआत में। तो अगर वहाँ एक है "Virtual PC.exe"और "Virtual PC1.exe"पहला होगा Virtual~1.exeऔर दूसरा Virtual~2.exeऔर इसी तरह।

या VirtualBox की तरह एक VNC- क्लाइंट का उपयोग करें।


1
यह एक उचित काम के आसपास की तरह दिखता है, लेकिन यह वास्तव में अंतर्निहित समस्या को संबोधित नहीं करता है, जो स्वीकृत उत्तर द्वारा कवर किया गया है।
सैम

1
लघु फ़ाइल नाम सक्षम नहीं होने पर यह काम नहीं करेगा। मैं हमेशा अपने सिस्टम में 8.3 फाइलनेम को निष्क्रिय करता हूं
phuclv

1

इनमें से किसी भी जवाब ने मेरे लिए काम नहीं किया।

इसके बजाय, मुझे कॉल कमांड का उपयोग करना पड़ा:

Call "\\Path To Program\Program.exe" <parameters>

मुझे यकीन नहीं है कि यह वास्तव में पूरा होने की प्रतीक्षा कर रहा है ... C ++ Redistributable मैं स्थापित कर रहा था तेजी से पर्याप्त चला गया कि यह कोई फर्क नहीं पड़ा


@rene संपादन के लिए धन्यवाद। यदि मैं कोई और उत्तर जोड़ता हूं, तो मुझे कोड ब्लॉक प्रारूप का उपयोग करना सुनिश्चित होगा
JustAnotherMikhail

0

"ख़ासियत" में उत्तर सही है और सीधे सवाल का जवाब देता है। जैसा कि टिमएफ ने उत्तर दिया, चूंकि पहला पैरामीटर उद्धरणों में है, इसे एक विंडो शीर्षक के रूप में माना जाता है।

यह भी ध्यान दें कि वर्चुअल पीसी विकल्पों को 'स्टार्ट' कमांड के विकल्प के रूप में माना जा रहा है, और 'स्टार्ट' के लिए मान्य नहीं हैं। यह विंडोज के सभी संस्करणों के लिए सही है जिसमें 'स्टार्ट' कमांड है।

एक शीर्षक के रूप में उद्धृत पैरामीटर को मानते हुए 'स्टार्ट' के साथ यह समस्या और भी अधिक कष्टप्रद है कि बस पोस्ट की गई समस्या है। यदि आप इसे चलाते हैं:

start "some valid command with spaces"

आपको एक नया कमांड प्रॉम्प्ट विंडो मिलता है, जिसमें विंडो शीर्षक के लिए स्पष्ट परिणाम होता है। इससे भी अधिक कष्टप्रद, यह नई विंडो स्वनिर्धारित फ़ॉन्ट, रंग या विंडो का आकार नहीं लेती है, यह cmd.exe के लिए केवल डिफ़ॉल्ट है।


0

यदि आप c: ड्राइव के टेस्ट फोल्डर में पैरामीटर और अपने .exe फ़ाइल को पास करना चाहते हैं

start "parameter" "C:\test\test1.exe" -pc My Name-PC -launch

यदि आप c: ड्राइव के टेस्ट फोल्डर में पैरामीटर और अपने .exe फ़ाइल को पास नहीं करना चाहते हैं

start "" "C:\test\test1.exe" -pc My Name-PC -launch

यदि आप H: (कोई भी अन्य) ड्राइव के परीक्षण फ़ोल्डर में पैरामीटर और अपने .exe फ़ाइल को पास नहीं करना चाहते हैं

start "" "H:\test\test1.exe" -pc My Name-PC -launch


0

यदि आपको किसी भी पैरामीटर पर दोहरे उद्धरण चिह्न का उपयोग करना चाहिए, तो आप त्रुटि प्राप्त कर सकते हैं "c: \ somepath" को एक आंतरिक या बाहरी कमांड, ऑपरेशनल प्रोग्राम या बैच फ़ाइल नहीं पहचाना जाता है "। मैं निम्नलिखित सुझाव देता हूं जब दोहरे अंकन चिह्न का उपयोग करते हुए समाधान: https://stackoverflow.com/a/43467194/3835640


0

आप [का उपयोग करके उद्धरण चिह्नों का उपयोग कर सकते हैं /D"Path"] उपयोग /D केवल पथ और नहीं पथ + कार्यक्रम निर्दिष्ट करने के लिए। ऐसा प्रतीत होता है कि एक ही लाइन पर सभी कोड इस प्रकार हैं कि सामान्य अर्थ पर वापस जाता है आपको अलग-अलग पथ और फ़ाइल की आवश्यकता नहीं है।

    start  /D "C:\Program Files\Internet Explorer\" IEXPLORE.EXE

या:

    start  /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE

डिफ़ॉल्ट वेब पेज के साथ IE शुरू कर देंगे।

    start  /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE www.bing.com

बिंग के साथ शुरू होता है, लेकिन अपने होम पेज को रीसेट नहीं करता है।

/D "निर्देशिका" के लिए खड़ा है और उद्धरण का उपयोग करना ठीक है!

गलत उदाहरण:

    start  /D "TITLE" "C:\Program Files\Internet Explorer\IEXPLORE.EXE"

देता है:

त्रुटि " वर्तमान निर्देशिका अमान्य है। "

/Dकेवल एक निर्देशिका पथ का पालन किया जाना चाहिए। फिर स्पेस और बैचफाइल या प्रोग्राम जिसे आप शुरू / चलाना चाहते हैं

परीक्षण किया और XP के तहत काम करता है, लेकिन विंडोज़ विस्टा / 7/8 को यूएसी के लिए कुछ समायोजन की आवश्यकता हो सकती है।

-Mrbios


-1

/b पैरामीटर

start /b "" "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch

यह पैरामीटर क्या करता है?
अज़ीज़ा एम

3
@AzeezahM / b का मतलब है कि एक नई cmd विंडो नहीं खोली जाएगी। हालांकि यह ऑप के सवाल का जवाब नहीं देता है।
aclave1

-4

आपने कोशिश की है:

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" "-pc MY-PC -launch"

?


-4

एक बैच फ़ाइल के अंदर कमांड रखो, और उस पैरामीटर के साथ कॉल करें।

इसके अलावा, क्या आपने यह कोशिश की? (मापदंडों को एन्कैप्सुलेट करने के लिए अंतिम उद्धरण ले जाएँ)

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe -pc MY-PC -launch"

-4

"वर्चुअल PC.exe" को फ़ोल्डर में "VirtualPC.exe" जैसे स्थान के बिना नाम में बदलें। जब आप start "path""" के साथ लिखते हैं तो CMD शीर्षक के रूप में पथ के साथ एक नई cmd विंडो शुरू करता है। बिना स्थान के नाम को बदलें, इसे नोटपैड पर लिखें और इसके बाद Name.cmd या Name.bat जैसे सहेजें:

CD\
CD Program Files
CD Microsoft Virtual PC
start VirtualPC.exe
timeout 2
exit

यह कमांड CMD को फ़ोल्डर में रीडायरेक्ट करेगा, VirualPC.exe शुरू करें, 2 सेकंड प्रतीक्षा करें और बाहर निकलें।


1
यदि सॉफ़्टवेयर अपडेट हो जाता है तो क्या होता है? अचानक आपको एक अनाथ virtualpc.exe मिला है।
माइकल बेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.