我正在尝试在我的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)都按预期工作(脚本在控制台会话中运行)。
答案 0 :(得分:0)
看起来这是Powershell中的已知错误:https://connect.microsoft.com/PowerShell/feedback/details/238550/power-shell-trimming-extension-to-3-characters-when-resolving-file-associations
从错误报告中,看起来MS不打算修复它: - (