जब मैं पावरशेल पर एक प्रोग्राम चलाता हूं तो यह एक नई विंडो खुलता है और आउटपुट देखने से पहले, खिड़की बंद हो जाती है। मैं इसे कैसे बना सकता हूं PowerShell इस विंडो को खुला रखता है?कमांड विंडो को खोलने के लिए PowerShell कैसे प्राप्त करें?
उत्तर
यदि प्रोग्राम cmd /c foo.cmd
कमांड के साथ लॉन्च किया जा रहा है तो बैच फ़ाइल (.cmd या .bat एक्सटेंशन) है, बस इसे cmd /k foo.cmd
पर बदलें और प्रोग्राम निष्पादित हो जाता है, लेकिन प्रॉम्प्ट खुला रहता है।
यदि प्रोग्राम बैच फ़ाइल नहीं है, तो इसे बैच फ़ाइल में लपेटें और pause
कमांड को इसके अंत में जोड़ें। प्रोग्राम को बैच फ़ाइल में लपेटने के लिए, बस एक टेक्स्ट फ़ाइल में कमांड रखें और इसे .cmd एक्सटेंशन दें। फिर exe के बजाय निष्पादित करें।
करने का प्रयास करें:
start-process your.exe -NoNewWindow
एक -Wait
भी अगर जरूरत जोड़ें।
जब मैं ऐसा करता हूं तो यह मुझे बताता है "प्रारंभ-प्रक्रिया: यह त्रुटि के कारण आदेश निष्पादित नहीं किया जा सकता है: सिस्टम निर्दिष्ट फ़ाइल नहीं ढूंढ सकता है। " जो अजीब है क्योंकि मैंने अपने पथ पर exe का स्थान जोड़ा। – Erman
@ एर्मन - सुनिश्चित करें कि यह वास्तव में है। यदि आवश्यक हो तो पावरहेल को पुनरारंभ करें। या क्या चल रहा है यह देखने के लिए पूर्ण पथ का उपयोग करें। – manojlds
@Erman मुझे लगता है कि आप powerhell.exe my.bat -NoNewWindow –
मैं कुछ हफ्ते पहले इसी तरह की समस्या को हल कर रहा था। यदि आप & (& '.\program.exe'
) का उपयोग नहीं करना चाहते हैं तो आप प्रारंभ प्रक्रिया का उपयोग कर सकते हैं और प्रारंभ प्रक्रिया द्वारा आउटपुट पढ़ सकते हैं (जहां आप स्पष्ट रूप से आउटपुट पढ़ते हैं)।
param (
$name,
$params
)
$process = New-Object System.Diagnostics.Process
$proInfo = New-Object System.Diagnostics.ProcessStartInfo
$proInfo.CreateNoWindow = $true
$proInfo.RedirectStandardOutput = $true
$proInfo.RedirectStandardError = $true
$proInfo.UseShellExecute = $false
$proInfo.FileName = $name
$proInfo.Arguments = $params
$process.StartInfo = $proInfo
#Register an Action for Error Output Data Received Event
Register-ObjectEvent -InputObject $process -EventName ErrorDataReceived -action {
foreach ($s in $EventArgs.data) { Write-Host $s -ForegroundColor Red }
} | Out-Null
#Register an Action for Standard Output Data Received Event
Register-ObjectEvent -InputObject $process -EventName OutputDataReceived -action {
foreach ($s in $EventArgs.data) { Write-Host $s -ForegroundColor Blue }
} | Out-Null
$process.Start() | Out-Null
$process.BeginOutputReadLine()
$process.BeginErrorReadLine()
$process.WaitForExit()
और फिर यह फोन की तरह:
.\startprocess.ps1 "c:\program.exe" "params"
तुम भी आसानी से उत्पादन अनुप्रेषित या किसी तरह लागू कर सकते हैं (उदाहरण के लिए या मैक्रो के लिए) -
बस इस के रूप में अलग PS1 फ़ाइल डाल यदि आपका एप्लिकेशन फ्रीज हो सकता है तो टाइमआउट का ...
बिल्कुल सही। ठीक वही जो मेरे द्वारा खोजा जा रहा था। अनेक अनेक धन्यवाद। – Saulius
ओपी उत्तर से संतुष्ट था, लेकिन यह प्रोग्राम को निष्पादित करने के बाद नई विंडो को खुला नहीं रखता है, जो वह प्रतीत होता है पूछना (और वह जवाब जिसे मैं ढूंढ रहा था)। तो, कुछ और शोध के बाद, मैं आया:
Start-Process cmd "/c `"your.exe & pause `""
- 1. C++ कोड चलाने के बाद विंडो को खोलने के लिए कैसे प्राप्त करें?
- 2. पॉपअप विंडो खोलने के बिना वेब पेज कैसे प्रिंट करें?
- 3. कमांड विंडो
- 4. बैच लॉन्च करने के लिए PowerShell को multiline कमांड पैरामीटर
- 5. कमांड विंडो
- 6. "उन्नत उपयोगकर्ता प्रोफ़ाइल गुणों को कॉन्फ़िगर करें" खोलने के लिए कमांड (विंडोज 7)
- 7. विंडो इंस्टेंस के एचडब्ल्यूएनडी कैसे प्राप्त करें?
- 8. ग्रहण आधारित प्रोजेक्ट में एक मोडल संवाद खोलने के लिए वर्कबेंच विंडो कैसे प्राप्त करूं?
- 9. डब्ल्यूपीएफ विंडो के क्लाइंटसाइज कैसे प्राप्त करें?
- 10. मैं उसी विंडो में खोलने के लिए वर्डप्रेस 'पूर्वावलोकन' लिंक कैसे प्राप्त कर सकता हूं?
- 11. आर कमांड लाइन विंडो
- 12. ब्राउज़र विंडो की बजाय एक्सेल खोलने के लिए आपको स्प्रेडशीट कैसे प्राप्त होती है?
- 13. पॉपअप विंडो खोलने के लिए JQuery का उपयोग करना और
- 14. ExtJS नई विंडो खोलने के रूप में
- 15. वर्तमान विंडो को कमांड पैरामीटर
- 16. होवर के बजाय क्लिक को खोलने/बंद करने के लिए ड्रॉपडाउन मेनू कैसे प्राप्त करें?
- 17. कमांड विंडो में ब्लिंकिंग कर्सर को कैसे बंद करें?
- 18. ओएस कमांड लाइन से PowerShell स्क्रिप्ट कैसे लॉन्च करें?
- 19. जावास्क्रिप्ट: आईई को विंडो के बजाए नए टैब को खोलने के लिए मजबूर करना?
- 20. अंतिम सक्रिय विंडो प्राप्त करें: पिछली सक्रिय विंडो प्राप्त करें
- 21. PowerShell
- 22. जावास्क्रिप्ट: location.href नई विंडो/टैब में खोलने के लिए?
- 23. गिट कमांड के लिए PowerShell में उपनाम बनाना?
- 24. एक्सकोड: इसे अतिरिक्त विंडो खोलने से कैसे रोकें?
- 25. powershell 2.0 कमांड लाइन पुनर्निर्देशन
- 26. PowerShell
- 27. गूगल सीएसई नई विंडो में खोलने
- 28. पहले से खोले गए प्रोजेक्ट्स को स्वचालित रूप से खोलने के लिए एक्सकोड कैसे प्राप्त करें
- 29. Powershell
- 30. PowerShell
क्या यह प्रोग्राम एक exe, या बैच फ़ाइल है? क्या आप सही आदेश दे रहे हैं जो आप चल रहे हैं, शायद निष्पादन योग्य नाम बदल रहे हैं? –
यह एक exe है। मैंने फ़ोल्डर जोड़ा है कि प्रोग्राम मेरे पथ में है और जब मैं प्रोग्राम के नाम पर टाइप करता हूं तो यह चलता है, जो खिड़की खुलता है उसे छोड़कर मेरे पास जो भी कहता है उसे पढ़ने के लिए बहुत तेज़ी से बंद हो जाता है। कार्यक्रम पायथन कार्यक्रमों का परीक्षण करने के लिए एक कार्यक्रम है। नीचे दी गई आपकी टिप्पणी के लिए, मुझे नहीं पता कि बैच फ़ाइल में किसी प्रोग्राम को कैसे लपेटें:/ – Erman
मैंने यह स्पष्ट करने के लिए अपना उत्तर अपडेट किया कि यह कैसे करें। यह आपके प्रोग्राम आउटपुट को टेक्स्ट फ़ाइल में रीडायरेक्ट करने का भी अर्थ हो सकता है। –