在Windows上,PATHEXT中可以使用的扩展是否有限制?

时间:2013-05-02 11:08:32

标签: windows powershell console

我正在尝试在我的Windows计算机上设置文件关联,以便扩展.script的文件无需指定扩展名即可运行(非常类似于.bat.ps1,{{1} }文件)。

我使用以下批处理文件进行了设置:

.py

这个几乎有效,但是当我运行REG ADD HKCU\Environment /v PATHEXT /t REG_EXPAND_SZ /d "%%PATHEXT%%;.script" REG ADD HKCU\Software\Classes\.script /ve /d "Script.File" REG ADD HKCU\Software\Classes\Script.File /ve /d "Script file with hashbang line" REG ADD HKCU\Software\Classes\Script.File\shell\open\command /ve /d "\"C:\WINDOWS\py.exe\" \"%%1\" %%*" 文件时,它会在新窗口中运行,而不是在我当前的控制台会话中运行。

如果我更改了我选择的扩展程序,例如.script,那么它可以正常工作。

是否可以在控制台中使用的文件扩展名有限制,它们必须少于3个字符,或者其他什么?

(如果它是相关的,这是在Windows 7,64位)。

更新:这似乎只发生在Powershell中。 CMD和TCC(TCC / LE)都按预期工作(脚本在控制台会话中运行)。

1 个答案:

答案 0 :(得分:0)

看起来这是Powershell中的已知错误:https://connect.microsoft.com/PowerShell/feedback/details/238550/power-shell-trimming-extension-to-3-characters-when-resolving-file-associations

从错误报告中,看起来MS不打算修复它: - (