1

操作系统:Windows XP SP3

尝试定义命令以从上下文菜单或直接从资源管理器打开某些文件类型并遇到以下问题:

  • 如果文件位于包含西里尔文(非 ASCII)字符的目录中,则标准"C:\Program Files\SQLite ODBC Driver\sqlite3.exe" "%1"不起作用;
  • 命令"C:\Program Files\SQLite ODBC Driver\sqlite3.exe" "%~s0"不起作用,因为不幸的是指定的参数模板仅适用于批处理文件;
  • 使用先前命令创建批处理文件的变体是丑陋且不实用的。

是否有正确或方便的方法来打开路径中包含非 ASCII 字符的文件?我的意思是没有丑陋的魔法。

更新:

我认为这种"C:\Dir one\0016~1\file.sqlite"格式会起作用。

%L钥匙也不起作用。

4

1 回答 1

1

找到了解决方案。仍然丑陋,但它达成了交易。

...使用了如下命令:

short.cmd "myapp.exe" "%1"

whereshort.cmd包含该行

start %~s1 %~s2

然后,这会将应用程序名称和文件名转换为短版本,并根据需要执行 - 但有一个命令窗口会在其中短暂弹出(运行 START 命令)

链接:上下文菜单外壳命令 %1、%L 参数

于 2012-10-24T19:33:02.533 回答