Windows 10 分配了最奇怪的預設程序,我需要能夠在不同的電腦上快速更改它們(即建立腳本)。我正在嘗試使用助理和類型來實現這一點。
這是我嘗試運行的批次文件 - 足夠簡單,可以開始。 PS1 檔案通常在記事本中打開,這沒有意義,因為它們應該在 PowerShell ISE 中打開,所以這就是我在這裡嘗試做的:
@echo off
TITLE Associating File Types With Applications for %username%
assoc .ps1=Microsoft.PowerShellScript.1
ftype Microsoft.PowerShellScript.1=powershell_ise.exe
pause
暫停只是為了在運行時捕獲以下錯誤:
Access is denied.
Error occurred while processing: .ps1.
Access is denied.
Error occurred while processing: Microsoft.PowerShellScript.1.
Press any key to continue . . .
雙重訪問被拒絕!目前腳本的編寫方式,都不是助理或者類型工作。我可以透過 GUI 更改預設程序,因此我也應該能夠編寫腳本。不幸的是,當您不是管理員時,Microsoft 不會讓您輕鬆編寫腳本。
我不知道是否助理部分實際上是必要的 - 看起來只是類型腳本中需要它,因為這實際上改變了文件關聯。不過,所有示例中都有這一點,所以我將其包括在內。
作為標準用戶如何更改預設程序沒有任何管理權限?值得慶幸的是,我們現在可以存取註冊表,因此如果我可以使用 REG 檔案執行相同的操作,那也可以。我需要能夠將以下文件類型與以下程式關聯:
- PS1:PowerShell ISE
- PDF:Adobe Acrobat Reader DC
- 使 Windows 照片檢視器(不是照片)成為任何類型影像的預設檢視器。我已經有一個腳本將 WPV 添加到“開啟方式”選單中。
- 使 Windows Media Player 成為任何類型視訊檔案的預設檢視器。
- 將 Internet Explorer 設定為預設瀏覽器(而非 Edge)。我們的網域有一項策略,使 Chrome 在運行時成為預設瀏覽器,因此我可能會更頻繁地重新應用此策略。
- HTML/CSS/JS: "T:\Notepad++\Notepad++Portable.exe"
除 Chrome 之外,網域策略不會影響預設程式。
答案1
如果沒有提升的命令提示字元的權限,您將無法執行這樣的腳本。提升意味著您可以右鍵單擊 cmd 並選擇以管理員身份執行。