Чи мають ярлики Windows щось подібне до мета-параметрів?


0

Чи є там спеціальні параметри, які можна передавати для цілей ярликів Windows?

Параметри контексту : назва поточного ярлика, його повний шлях, ім'я теки скорочення або інші? Припустимо, що мета-параметр $ shortcutname було ім'ям скорочення:

TARGET: "c:\folder1\subfolder\myprogram.exe" $shortcutname

ОДИН ВИКОРИСТАНИЙ СЛОВО:

Припустимо, програма, яка має параметр, що ідентифікує щось у своєму бізнесі, у цьому прикладі дозволяє сказати, що програмі потрібно ім'я хосту та багато інших параметрів. Будучи іменем хоста, унікальний параметр, який змінюється і всі інші параметри фіксуються. Розгляньте наступне:

myprogam -p1 blablabla -p2 123:5567 -p3 asbc.qwe -p4 "xxx" -hostname $hostname

Ну, є користувачі, які не вміють редагувати ярлик, але вони знають, як змінити ім'я файлу в провіднику Windows. Ми могли б пояснити користувачам, просто скопіювати & вставити ярлик і змінити його ім'я на ім'я, яке відповідає бажаному імені хоста. Звичайно, якщо можна було передати назву ярлика як мета-параметр до цілей ярлика.

Отже, для того, щоб зробити це, можна зробити файл .bat, який може працювати з ним. Таким чином, використовуючи ту ж процедуру, скопіюйте & вставте, і налаштуйте ім'я, щоб відповідати бажаному імені хосту, але в деяких системах політики адміністратора можуть бути бар'єром для сценаріїв .bat.

Потрібно сказати, що користувачі вже використовують ярлики, є папки з десятками з них, але вони створюються командою підтримки.


Звідки б входили для такого параметра?
Bill_Stewart

@Bill_Stewart З ярлика "інтерпретатор", лаунчер, оболонка, ... Я не знаю, як він називається у Windows
Luciano

Яку проблему ви намагаєтеся вирішити?
Bill_Stewart

@Bill_Stewart: Передайте програмі ім'я ярлика, який його запустив.
Luciano

Але яку проблему це вирішує? (Чому програма потребує такої інформації?)
Bill_Stewart

Відповіді:


1

Якщо ви явно не звертаєтеся до файлу ярлика, немає поточного ярлика. Ви повинні використовувати wscript createshortcut Метод (також для існуючих ярликів) Див. цей сценарій:

$ShortCutFile = "C:\Users\$env:UserName\Desktop\Google Chrome.lnk"
$Wsh = New-Object -ComObject WScript.Shell
$ShortCut = $wsh.CreateShortcut($ShortCutFile )
$ShortCut|Get-Member
$ShortCut|Format-List

Вихід:

   TypeName: System.__ComObject#{f935dc23-1cf0-11d0-adb9-00c04fd58a0b}

Name             MemberType Definition
----             ---------- ----------
Load             Method     void Load (string)
Save             Method     void Save ()
Arguments        Property   string Arguments () {get} {set}
Description      Property   string Description () {get} {set}
FullName         Property   string FullName () {get}
Hotkey           Property   string Hotkey () {get} {set}
IconLocation     Property   string IconLocation () {get} {set}
RelativePath     Property   string RelativePath () {set}
TargetPath       Property   string TargetPath () {get} {set}
WindowStyle      Property   int WindowStyle () {get} {set}
WorkingDirectory Property   string WorkingDirectory () {get} {set}

FullName         : C:\Users\UserName\Desktop\Google Chrome.lnk
Arguments        :
Description      : Internetzugriff
Hotkey           :
IconLocation     : C:\Program Files (x86)\Google\Chrome\Application\chrome.exe,0
RelativePath     :
TargetPath       : C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
WindowStyle      : 1
WorkingDirectory : C:\Program Files (x86)\Google\Chrome\Application

Ви можете змінити $ShortCut властивості, а потім використовувати .save метод.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.