2008-08-22 13 views
12

उदाहरण: आप मौजूदा निर्देशिका में SomeProgram के लिए एक शॉर्टकट s है।कार्यक्रमों की तरह शॉर्टकट निष्पादित

cmd.exe में, आप s टाइप कर सकते हैं और यह प्रोग्राम लॉन्च करेगा।

PowerShell में, s टाइपिंग देता है:

The term 's' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.

आप लिखते हैं, तो s.lnk या SomeProgram, यह कार्यक्रम ठीक चलाता है।

प्रोग्राम की तरह शॉर्टकट निष्पादित करने के लिए मैं PowerShell को कैसे कॉन्फ़िगर कर सकता हूं?

उत्तर

7

मेरी विस्टा प्रणाली टाइपिंग एस पर एक lnk फ़ाइल शुरू नहीं होगा जब तक कि मैं वातावरण चर PATHEXT सूची में .lnk साथ सेट है। जब मैं करता हूं। एस cmd.exe में काम करेगा और मुझे शक्तियों में \ S करना होगा।

+1

cmd स्वचालित रूप से वर्तमान निर्देशिका जोड़ता है "।" अपने पाथ पर्यावरण चर के लिए। पावरशेल इसे सुरक्षा जोखिम मानता है, और आपको स्पष्ट रूप से। \ Path टाइप करने के लिए मजबूर करता है। लिनक्स में, आप "।" जोड़ सकते हैं। "खतरनाक" व्यवहार को पुनर्स्थापित करने के लिए अपने पाथ पर्यावरण परिवर्तक को ... – Jaykul

+0

मुझे लगता है कि आपको पूर्ण फ़ाइल नाम, s.lnk टाइप करना होगा, क्योंकि स्लीपसेक ने कहा है – Jaykul

+0

जयकुल/स्लीपसेक, मैंने जो जवाब दिया है, वह समझा रहा है कि आप जोड़ सकते हैं PATHEXT पर्यावरण चर के लिए .lnk और फिर आप .lnk जोड़ने के बिना कमांड लाइन से शॉर्टकट लॉन्च कर सकते हैं। – bruceatk

2

मुझे विश्वास नहीं है कि आप कर सकते हैं। आप अपनी प्रोफ़ाइल स्क्रिप्ट से कॉल करने वाली स्क्रिप्ट में आमतौर पर प्रयुक्त कमांड को अलियासिंग से बेहतर कर सकते हैं।

उदाहरण -

सेट उर्फ ​​एनपी c: \ windows \ notepad.exe

तो फिर आप अपने छोटा है, आसानी से typeable नाम कमांड लाइन से उपलब्ध है।

0

आप कभी भी "रों [टैब]" टाइप करने के लिए और प्रेस ENTER और है कि यह निष्पादित करेंगे टैब पूरा होने का उपयोग कर सकते हैं।

2

एक के लिए, शॉर्टकट "एस" नहीं है "s.lnk" है। जैसे आप (नोटपैड के साथ कहते हैं) "टी" टाइपिंग जब नाम "t.txt" द्वारा एक पाठ फ़ाइल को खोलने के लिए सक्षम नहीं हैं :) Technet says

PATHEXT वातावरण चर फ़ाइल एक्सटेंशन की सूची की जाँच को परिभाषित करता है निष्पादन योग्य फ़ाइल के लिए खोजते समय Windows NT द्वारा। PATHEXT का डिफ़ॉल्ट मान .COM है, .EXE; बल्ला, .cmd

आप डॉट स्रोत के रूप में यहाँ दूसरों के द्वारा वर्णित है, या आप भी मंगलाचरण चरित्र "&" इस्तेमाल कर सकते हैं। इसका मतलब यह है कि पीएस आपकी स्ट्रिंग को केवल टेक्स्ट की बजाय निष्पादित करने के लिए कुछ करता है। यद्यपि यह एक स्क्रिप्ट में अधिक महत्वपूर्ण हो सकता है।

मैं जोड़ता हूं कि आपको उद्धरणों के बाहर किसी भी पैरामीटर को पारित करना चाहिए (यह मुझे पहले थोड़ा सा) ध्यान दें कि "-r" उद्धृत स्ट्रिंग में नहीं है, केवल exe है।

& "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe" -r | out-null 
5

मेरी PATHEXT वातावरण चर के अंत तक ;.LNK जोड़ने के बाद, मैं अब भी पूर्ववर्ती ./ अंकन बिना शॉर्टकट निष्पादित कर सकते हैं। (धन्यवाद bruceatk!)

मैं स्टीवन के सुझाव से प्रेरित था कि एक छोटी सी स्क्रिप्ट बनाने के लिए जो स्वचालित रूप से मेरे PATH में सभी शॉर्टकट्स को उपनाम करता है (भले ही मैं सरल समाधान से चिपकने की योजना बना रहा हूं;)।

$env:path.Split(';') | 
    Get-ChildItem -filter *.lnk | 
    select @{ Name='Path'; Expression={ $_.FullName } }, 
     @{ Name='Name'; Expression={ [IO.Path]::GetFileNameWithoutExtension($_.Name) } } | 
    where { -not (Get-Alias $_.Name -ea 0) } | 
    foreach { Set-Alias $_.Name $_.Path } 
13

तुम भी "आह्वान-आइटम" cmdlet का उपयोग करके एक शॉर्टकट आह्वान कर सकते हैं। उदाहरण के लिए यदि आप शुरू करने के लिए "इंटरनेट explorer.lnk" आप निम्न आदेश टाइप कर सकते हैं चाहता था:

invoke-item 'Internet Explorer.lnk' 

या आप भी उर्फ ​​इस्तेमाल कर सकते हैं

ii 'internet explorer.lnk' 

एक और अच्छी बात यह है तुम कर सकते हो कि है "invoke-item t.txt" और यह स्वचालित रूप से * .txt फ़ाइलों के लिए डिफ़ॉल्ट हैंडलर को खोल देगा, जैसे नोटपैड।

नोट यदि आप किसी एप्लिकेशन को निष्पादित करना चाहते हैं, तो app.exe, वर्तमान निर्देशिका में आपको वास्तव में पथ, सापेक्ष या पूर्ण निष्पादित करने के लिए निर्दिष्ट करना होगा। "। \ app.exe" वह है जिसे आपको एप्लिकेशन निष्पादित करने के लिए टाइप करने की आवश्यकता होगी।

+1

भी "ii" आज़माएं कुछ समय;) – halr9000

+0

मैंने रिमोट पावर शैल सत्र पर कोशिश की। समस्या यह है कि यह यूआई लॉन्च नहीं करता है। तत्काल के लिए, मैं विजुअल स्टूडियो लॉन्च करने का प्रयास करता हूं। मैं अपनी प्रक्रिया देख सकता हूं फिर भी जब मैं आरडीपी का उपयोग कर कंप्यूटर से कनेक्ट करता हूं तो कोई यूआई नहीं दिखाया जाता है। कोई उपाय? – Royi

संबंधित मुद्दे