1. 程式人生 > >使用PowerShell操作快捷方式

使用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的功能相當強大,學習過程中要經常動手實驗,並養成做記錄的習慣~~