0

我正在尝试在我的 Windows 机器上设置文件关联,以便在.script不需要指定扩展名的情况下运行具有扩展名的文件(很像.bat, .ps1,.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文件时,它会在一个新窗口中运行,而不是在我当前的控制台会话中。

如果我将选择的扩展名更改为更短的扩展名,例如.sf,那么它可以正常工作。

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

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

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

4

1 回答 1

0

Looks like this is a known bug in Powershell: https://connect.microsoft.com/PowerShell/feedback/details/238550/power-shell-trimming-extension-to-3-characters-when-resolving-file-associations

From the bug report, it looks like MS don't intend to fix it :-(

于 2013-05-02T13:24:51.730 回答