यह ऐसी चीज है जो पावरशेल वास्तव में अच्छी है, और इसलिए बैच फ़ाइलों को छोड़ने और बैंडशैगन पावरशेल पर पहुंचने का एक कारण है।
पावरशेल .NET से बात कर सकता है। उदाहरण के लिए, अगर आप इस तरह डेस्कटॉप के स्थान प्राप्त कर सकते हैं:
[Environment]::GetFolderPath("Desktop")
PowerShell कॉम को WScript.Shell
सहित वस्तुओं, बात कर सकते हैं, शॉर्टकट बना सकते हैं जो:
New-Object -ComObject WScript.Shell).CreateShortcut(...)
तो अपनी स्क्रिप्ट लग सकता है जैसे:
$linkPath = Join-Path ([Environment]::GetFolderPath("Desktop")) "MyShortcut.lnk"
$targetPath = Join-Path ([Environment]::GetFolderPath("ProgramFiles")) "MyCompany\MyProgram.exe"
$link = (New-Object -ComObject WScript.Shell).CreateShortcut($linkpath)
$link.TargetPath = $targetPath
$link.Save()
शॉर्टकट एडमिनिस्ट्रेशन के रूप में "रन की तरह सेटिंग्स का एक बहुत है कि WScript.Shell में हेरफेर नहीं कर सकते, है स्ट्रेटर "विकल्प। ये केवल Win32 इंटरफ़ेस IShellLinkDataList
के माध्यम से पहुंच योग्य हैं, जो उपयोग करने के लिए एक वास्तविक दर्द है, लेकिन यह किया जा सकता है।
स्रोत
2009-02-12 17:43:54
न करें मान लें कि प्रोग्राम फ़ाइलें "सी: \ प्रोग्राम फ़ाइलें" पर हैं।(% PROGRAMFILES% काम कर सकते हैं, यद्यपि)। इसी प्रकार, यह न मानें कि उपयोगकर्ता की होम निर्देशिका "सी: \ दस्तावेज़ और सेटिंग्स \% USERNAME%" में है (यह% HOMEDIR% है)। और डेस्कटॉप डेस्कटॉप नहीं कहा जा सकता है। –
क्या विंडोज 7 पर शॉर्टकट बनाने के लिए कोई समाधान उपलब्ध है? – JoeYo
@JayBazuzi यह विंडोज 7, 8, और सर्वर 2012 पर '% होमपैथ%' है। :) – wasatchwizard