web-dev-qa-db-ja.com

スクリプトを介してショートカット引数を変更する

ここに、すべてのユーザーが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()

本当に、私は現在のショートカット引数から引数を引き出す方法に迷っています。

3
Justin

どうですか:

$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()
4
Evan Anderson