使用PowerShell操作快捷方式
前兩天安裝了有道詞典的新版本試用,感覺做的很不錯。我桌面上有一個指向以前版本的快捷方式,安裝完成後由於目標路徑出錯就不能用了,之前的是D:/Program Files/Youdao/DeskDict/RunDict.exe,需要改為D:/Program Files/Youdao/DeskDict2/RunDict.exe,本想是直接修改它的屬性,卻提示拒絕訪問。原來自己用的是普通使用者,而快捷方式則是儲存在"All Users"目錄下,沒有許可權操作。懶得登出了,於是我就上網找使用PowerShell修改的方法,還真給找到
了:)http://www.vistax64.com/powershell/103072-changing-target-path-windows-shortcuts.html
參照他的方法以下是我的實現。
1、使用runas開啟一個具有管理員許可權的cmd,並啟動powershell;
================================================================================
C:/Documents and Settings/All Users/桌面>powershell
PS C:/Documents and Settings/All Users/桌面> dir *.lnk
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2008-5-1 1:10 1680 SharpDevelop 2.2.lnk
-a--- 2008-11-21 22:04 655 YodaoDict.lnk
===============================================================================
2、輸入以下命令來完成所需功能。
================================================================================
PS C:/Documents and Settings/All Users/桌面> $shell = New-Object -com "wscript.shell" //建立COM物件
PS C:/Documents and Settings/All Users/桌面> $lnk = $shell.CreateShortcut("YodaoDict.lnk") //開啟指定的快捷方式
PS C:/Documents and Settings/All Users/桌面> $lnk
FullName : C:/Documents and Settings/All Users/桌面/YodaoDict.lnk
Arguments :
Description :
Hotkey :
IconLocation : ,0
RelativePath :
TargetPath : D:/Program Files/Youdao/DeskDict/RunDict.exe
WindowStyle : 1
WorkingDirectory : D:/Program Files/Youdao/DeskDict
PS C:/Documents and Settings/All Users/桌面> $lnk.TargetPath = $lnk.TargetPath.Replace("DeskDict", "DeskDict2") //修改目標路徑
PS C:/Documents and Settings/All Users/桌面> $lnk
FullName : C:/Documents and Settings/All Users/桌面/YodaoDict.lnk
Arguments :
Description :
Hotkey :
IconLocation : ,0
RelativePath :
TargetPath : D:/Program Files/Youdao/DeskDict2/RunDict.exe
WindowStyle : 1
WorkingDirectory : D:/Program Files/Youdao/DeskDict2
PS C:/Documents and Settings/All Users/桌面> $lnk.Save() //儲存修改
=================================================================================
總結:PowerShell的功能相當強大,學習過程中要經常動手實驗,並養成做記錄的習慣~~