在标准的 Windows 打开文件对话框中(例如,记事本中“文件 > 打开”菜单项出现的对话框),我希望能够输入包含斜杠 的路径/
。但只接受反斜杠(我在 Windows XP 和 Windows 7 中都试过了)。我可以打开c:\autoexec.bat
,但如果我尝试打开/autoexec.bat
或c:/autoexec.bat
,我会收到错误消息
c:/autoexec.bat
The file name is not valid.
Windows 在某些情况下接受斜杠作为路径分隔符,但遗憾的是,至少默认情况下它不在打开文件对话框中。
是否有一个神奇的注册表设置、附加程序或其他合理的方法可以让我使用斜线在 Windows 文件打开对话框中? 我对在 Windows 7 下运行的 Office 2007 特别感兴趣,但更喜欢适用于在 XP 和 7 下使用标准对话框的所有应用程序的解决方案。
“不要使用 Windows”不是一个选择。
答案1
恐怕答案是不:您看到的对话框来自标准 Windows API,大多数程序都会使用它。在对其进行编程时,有几个选项可以打开/关闭,导致问题的选项OFN_FILEMUSTEXIST
位于打开文件名结构。我找不到任何记录它究竟如何进行检查的内容,更不用说修改它检查方式的方法了。
我在 Windows 方面看到的唯一解决方案是修补包含该函数的 dll,并让其进行另一次检查以允许正斜杠,但这需要大量技巧。
另一方面,如果您是某种程序员,则可以修复问题:我能想到的最快的方法(除了修改字符串的源)是创建一个小型命令行程序,该程序接受当前剪贴板输入,将正斜杠转换为反斜杠,然后将结果再次放在剪贴板上。将其放入批处理文件中,为其分配快捷方式即可完成。您的工作流程将是:复制路径,点击快捷方式,在对话框中点击 Ctrl-V,这只是一个简单的额外步骤。我认为大多数脚本语言都可以在 Windows 上获取剪贴板内容,它们都可以进行正则表达式替换,因此实际上只有几行代码。