我们在这里有一个程序,要求每个用户在他们的桌面上有一个指向一个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()
真的,我只是失去了如何从当前的快捷方式参数中提取参数。
怎么样:
$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()