通过脚本更改快捷方式参数

通过脚本更改快捷方式参数

我们这里有一个程序,要求每个用户在桌面上都有一个指向 ini 文件的快捷方式。每个文件对于用户来说都是唯一的。最近,我们在单独的服务器上重新安装了该应用程序。我希望能够在客户端计算机上运行一个脚本,该脚本将查看当前快捷方式、更改服务器名称,然后将其保存到同一位置。

我认为 powershell 是必需的。效果如下:

$oldargs = # Pull out the args from the current shortcut using voodoo magic
$args = $oldargs -replace "server1", "server2"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:PUBLIC\Desktop\app.lnk")
$Shortcut.TargetPath = "%ProgramFiles%\appdir\app.exe"
$Shortcut.Arguments = "$args"
$Shortcut.WorkingDirectory = "%ProgramFiles%\appdir"
$Shortcut.IconLocation = "%ProgramFiles%\appdir\pic.ico"
$Shortcut.Save()

真的,我只是不知道如何从当前快捷方式参数中提取参数。

答案1

怎么样:

$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:PUBLIC\Desktop\oldapp.lnk")
$oldargs = $Shortcut.Arguments
$Shortcut = $WshShell.CreateShortcut("$env:PUBLIC\Desktop\newapp.lnk")
$Shortcut.TargetPath = "%ProgramFiles%\appdir\app.exe"
$Shortcut.Arguments = $oldargs -replace "server1", "server2"
$Shortcut.WorkingDirectory = "%ProgramFiles%\appdir"
$Shortcut.IconLocation = "%ProgramFiles%\appdir\pic.ico"
$Shortcut.Save()

相关内容