将文件扩展名链接到应用

时间:2014-03-10 12:14:07

标签: powershell

我想知道是否可以创建将某个文件扩展名链接到应用程序的PowerShell脚本。

例如: 默认情况下,必须使用以下应用程序打开.ntb扩展名: C:\Program Files\SMART Technologies\Education Software\Notebook.exe

为什么我要问你需要一个脚本? 它确实可以通过使用“运行方式”然后勾选“默认”框来完成。但是我需要在大约150多台计算机上执行此操作。所以我想在启动一次时运行脚本。

对于PowerShell我是新手,所以如果有人能给出一个“小”的开头,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

对于脚本解决方案,我会使用cmd内置插件assocftype

$prg = 'C:\Program Files\SMART Technologies\Education Software\Notebook.exe'
$ext = '.ntb'

& cmd /c "ftype SMART.Notebook=`"$prg`" %1"
& cmd /c "assoc $ext=SMART.Notebook"

以上内容可以通过Invoke-Command cmdlet:

在远程主机上运行
Invoke-Command -Computer HostA,HostB,... -ScriptBlock {
  $prg = 'C:\Program Files\SMART Technologies\Education Software\Notebook.exe'
  $ext = '.ntb'

  & cmd /c "ftype SMART.Notebook=`"$prg`" %1"
  & cmd /c "assoc $ext=SMART.Notebook"
}

否则你将不得不编辑注册表,在这种情况下,通过组策略进行部署会更好,正如其他人已经指出的那样。