2012-02-22 24 views
85

में कोड दर्ज सभीबैट फ़ाइल: नई cmd विंडो खोलें और वहाँ

मैं यहाँ एक बल्ला फ़ाइल के साथ कार्य करने के लिए कोशिश कर रहा हूँ, यह एक बहुत ही सरल स्क्रिप्ट होना चाहिए लेकिन मैं यह कैसे करना है पता नहीं है (मैं इसके साथ परिचित नहीं हूँ)।

मुझे क्या करना कोशिश कर रहा हूँ खुला है एक नया कमांड विंडो: % windir शुरू% \ system32 \ cmd.exe

और कोड कि मैं इसे (उदाहरण के लिए एक प्रिंट) के पीछे टाइप दिखाई देना चाहिए वहां: गूंज "नई विंडो में परीक्षण"

मैं यह कैसे कर सकता हूं?

तो मुझे एक नई कमांड विंडो में कुछ कोडिंग करने की आवश्यकता है। क्या कोई इस पर मेरी मदद कर सकता है?

तरह

उत्तर

154

आपको पहले से ही आपका उत्तर मिल सकता है क्योंकि यह कुछ समय पहले आपने पूछा था। लेकिन मैंने कोडिंग करते समय कुछ ऐसा करने की कोशिश की। मैं एक नई सीएमडी विंडो में "रेल सर्वर" चलाने के लिए चाहता था इसलिए मुझे एक नया cmd खोलने की ज़रूरत नहीं है और फिर मेरा पथ फिर से ढूंढना है।

क्या मुझे पता चला इस तरह कश्मीर स्विच का उपयोग करने के लिए किया गया था: पहले "cmd"

start cmd /k echo Hello, World! 

शुरुआत एक नई विंडो और "/ कश्मीर" में आवेदन खुल जाएगा निष्पादित करेंगे "गूंज नमस्कार, दुनिया! " नए सेमीड के बाद ऊपर है।

आप कुछ इसी तरह के लिए/सी स्विच का भी उपयोग कर सकते हैं।

start cmd /C pause 

यह तब "रोकें" निष्पादित करेगा लेकिन आदेश पूरा होने पर विंडो बंद कर देगा। एक बटन दबाए जाने के बाद इस मामले में। मैंने इसे "रेल सर्वर" के लिए उपयोगी पाया, फिर जब मैंने अपना dev सर्वर बंद कर दिया तो मुझे विंडो को बंद करने की आवश्यकता नहीं है।

+0

यदि आप रेल सर्वर चलाने के लिए इसका उपयोग कर रहे हैं तो आपको वास्तव में 'cmd' टाइप करने की आवश्यकता नहीं है। आप बस 'स्टाइल रेल' टाइप कर सकते हैं। – fbonetti

+1

स्विच के बारे में अधिक जानकारी यहां मिल सकती है: http://ss64.com/nt/cmd.html – cbillowes

+0

पहले व्यक्ति ने मेरे कंप्यूटर को पागलपन में भेजा, इतनी सीएमडी विंडो खोलने ... दूसरे –

2

का संबंध है, तो मैं समझता हूँ कि आप सही तरीके से अपने बल्ले फ़ाइल पक्ष में यह कर कमान शीघ्र खोलने के लिए और स्क्रीन के लिए अपने संदेश प्रिंट होगा।

cmd.exe hello world 

आशा है कि यह मदद करता है।

+0

और यदि मैं वहां कई लाइनें रखना चाहता हूं? क्या यह भी संभव है? – Tjekkles

+3

आप बैच फ़ाइल का उपयोग कर सकते हैं! 'cmd myBatch.bat' – jeb

8

यह बहुत आसान नहीं है।

सबसे अच्छा तरीका यह है कि आप अपनी स्क्रिप्ट का हिस्सा रखना चाहते हैं जिसे आप "नई विंडो" में एक अलग .bat फ़ाइल में निष्पादित करना चाहते हैं। उदाहरण के लिए यह अव्यवहारिक हो सकता है आपको अपनी बाकी स्क्रिप्ट (चर, आदि) से बहुत सारी स्थिति की आवश्यकता है। एक विकल्प बैच फ़ाइल के लिए किसी भी मूल्यों की जरूरत है (उदाहरण के लिए निर्देशिका में संचालित करने के लिए) पारित करने के लिए है:

start cmd.exe stuff.bat %this_dir% 

आप राज्य की एक बड़ी राशि हस्तांतरित करने के लिए आप क्रम में एक बैच फ़ाइल पैदा करने पर विचार हो सकता है, तो:

set foo=Hello, World 
set list_me=%userprofile% 

set tmpdir=c:\windows\temp 
set tmp=%tmpdir%\tmp.foo 

del /q /f "%tmp%" 

echo.echo %foo%>>"%tmp%" 
echo.dir "%list_me%">>>"%tmp" 

start cmd.exe "%tmp%" 

del /q /f "%tmp%" 

जाहिर है यह एक मामूली उदाहरण है।

5

स्टैक ओवरफ़्लो में सभी के लिए धन्यवाद; इस समाधान के ऊपर सवाल हल करती है लेकिन स्वचालित रूप से इन कार्यों को चलाने के लिए बढ़ा दिया गया है:

  1. मैं अपने रेल सर्वर
  2. भागो एक रेक नौकरियों चलाना चाहते हैं: मेरे delayed_job मणि के लिए कार्यकर्ता भी
  3. और के लिए खोलें डिफ़ॉल्ट इंटरनेट ब्राउज़र
  4. अंत में मेरा पेज दिखाने के लिए, छोड़ने के लिए एक cmd खिड़की से किसी के लिए खुला मेरे सत्र के दौरान अतिरिक्त आदेश।

मुझे लगता है कि मेरी परियोजना को "एंटीक्वायरम" कहा जाता है।

अपने % USERPROFILE% में निर्देशिका एक "init.bat" फ़ाइल बनाएँ (एक cmd विंडो खोलें और कर्सर के बाईं ओर पथ पर एक नज़र डालें पता है कि% USERPROFILE% है)

@echo off 
cd C:/projects/rails3/antiquorum 
if "%1" == "antiquorum" GOTO start 
if "%1" == "worker" GOTO worker 
if "%1" == "server" GOTO server 
if "%1" == "" GOTO end 
:start 
    start cmd /k %USERPROFILE%\init.bat worker 
    start cmd /k %USERPROFILE%\init.bat server 
    TIMEOUT 30 
    start "" "http://localhost:3000/" 
    GOTO end 
:server 
    rails s 
    GOTO end 
:worker 
    rake jobs:work 
:end 

एक नया कमांड लाइन खिड़की प्रकार में: सी:> init antiquorum

कोड दो और cmd खिड़कियां और एक ब्राउज़र को खोलता है। TIMEOUT ब्राउज़र में त्रुटियों से बचाता है।

: अनुभाग शुरू होता है। आप के रूप में पैरामीटर टाइप करके अलग कार्यों 1,2 या 4 चला सकते हैं: एक cmd जड़ में खोला छोड़ने के लिए सर्वर, कार्यकर्ता, या कोई भी "antiquorum" परियोजना के

आनंद लें।

46

उपयोग अपने बैच फ़ाइल में निम्नलिखित:

start cmd.exe /k "more-batch-commands-here" 

या

start cmd.exe /c "more-batch-commands-here" 

/सी आदेश स्ट्रिंग द्वारा निर्दिष्ट करता है और उसके बाद समाप्त हो जाता है
/k बाहर जाता स्ट्रिंग द्वारा निर्दिष्ट कमांड लेकिन

बनी हुई है

अधिक जानकारी के लिए cmd /? का उपयोग कर cmd.exe दस्तावेज़ों से परामर्श लें।

कमांड स्ट्रिंग का उचित गठन तर्कों में रिक्त स्थान के साथ थोड़ा और जटिल हो जाता है। नीचे दिए गए उदाहरण देखें। कुछ उदाहरणों में नेस्टेड डबल कोट्स के उपयोग पर ध्यान दें।

उदाहरण:

एक कार्यक्रम चलाने के लिए और एक filename पैरामीटर पारित:
CMD /c write.exe c:\docs\sample.txt

एक कार्यक्रम चलाने के लिए और एक लंबे फ़ाइल नाम पारित:
CMD /c write.exe "c:\sample documents\sample.txt"

कार्यक्रम पथ में रिक्त स्थान:
CMD /c ""c:\Program Files\Microsoft Office\Office\Winword.exe""

कार्यक्रम पथ + पैरामीटर में

रिक्त स्थान:
CMD /c ""c:\Program Files\demo.cmd"" Parameter1 Param2
CMD /k ""c:\batch files\demo.cmd" "Parameter 1 with space" "Parameter2 with space""

लॉन्च demo1 और demo2:
CMD /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd""

स्रोत:http://ss64.com/nt/cmd.html

+0

धन्यवाद यह काम किया। क्या मैं एक्स, वाई स्थिति खोलने वाली खिड़की को दे सकता हूं? –

+0

@ManishGupta मुझे यकीन नहीं है। – Shannon

+1

@ManishGupta आपको http://stackoverflow.com/questions/14274552/how-to-get-set-each-applications-window-position-and-size-in-vbscript में उत्तर का उपयोग करने की आवश्यकता होगी –

2

ऊपर जवाब मुझे मदद की। लेकिन अभी भी कुछ figuring बाहर की जरूरत है। यहां एक उदाहरण स्क्रिप्ट है जिसका उपयोग मैं वेब विकास के लिए 3 प्रक्रियाओं को शुरू करने के लिए करता हूं। इसके परिणामस्वरूप 3 खिड़कियां खुली रहती हैं, क्योंकि उन्हें लगातार दौड़ने की आवश्यकता होती है।

मोंगो वैश्विक रूप से मेरे रास्ते में जोड़ा गया है, इसलिए मुझे अन्य दो कार्यक्रमों के लिए सीडी की आवश्यकता नहीं है। बेशक आपकी फाइलों का मार्ग अलग-अलग होगा, लेकिन उम्मीद है कि इससे मदद मिलेगी।

:: Start MongoDB 
start cmd.exe /k "mongod" 

:: cd app directory, and start it 
cd my-app 
start cmd.exe /k "npm run dev" 

:: cd to api server, and start that 
cd ../my-app-api 
start cmd.exe /k "npm run dev" 
संबंधित मुद्दे