Windows 快捷方式是否有类似元参数的东西?

Windows 快捷方式是否有类似元参数的东西?

是否有可以传递给 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 脚本的障碍。

需要说的是,用户已经在使用这些快捷方式,其中有几十个文件夹,但它们是由支持团队创建的。

答案1

除非您明确指定快捷方式文件,否则没有当前快捷方式。您必须使用 wscriptcreateshortcut方法(也适用于现有快捷方式)请参阅此脚本:

$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方法。

相关内容