You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HKCR的open命令中避免使用8.3格式路径?

解决Windows Terminal绝对路径调用时的8.3短路径问题

问题原因

当你使用%localappdata%\Microsoft\WindowsApps\wt.exe的绝对路径调用Windows Terminal时,由于这个目录属于UWP应用的虚拟化执行路径,Windows会触发短路径(8.3格式)的解析逻辑,导致工作目录和脚本路径都被转换成旧格式。而直接用wt.exe时,系统通过PATH环境变量定位程序,绕过了这个短路径解析问题。

可行解决方案

方案1:用cmd /c包裹调用并指定长路径工作目录

修改注册表中batfile\Shell\Open\Command和cmdfile\Shell\Open\Command的默认值(确保类型为REG_EXPAND_SZ)为:

cmd /c ""%localappdata%\Microsoft\WindowsApps\wt.exe"" -d "." "%1"

这里的引号嵌套是为了确保路径被正确解析,-d "."参数强制Windows Terminal将当前工作目录设为当前文件夹的长路径格式。

方案2:用%%CD%%指定长路径工作目录

同样保持注册表项为REG_EXPAND_SZ类型,将命令修改为:

"%localappdata%\Microsoft\WindowsApps\wt.exe" -d "%%CD%%" "%1"

%%CD%%会被系统展开为当前的长路径工作目录,直接覆盖默认的短路径解析结果。

方案3:强制设置注册表的工作目录项

如果上述方案无效,你可以尝试在batfile\Shell\Open和cmdfile\Shell\Open下添加一个Directory项(类型为REG_EXPAND_SZ),将其值设为%CD%。这个项会强制Windows在打开文件时使用长路径作为工作目录。

验证步骤

  1. 修改完成后关闭所有已打开的终端窗口
  2. 双击任意.bat或.cmd文件
  3. 检查Windows Terminal的标题栏或执行cd命令,确认工作目录是长路径格式,同时命令行中的脚本路径也不是8.3短路径

内容的提问来源于stack exchange,提问作者Benoit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 15:35:20