1

我目前正在玩批处理和关联。为什么 %0 获取批处理文件的完整路径而 %1 不能正确地完全显示文件名(如果超过 1 个字间距)。

-reg 文件进入注册表-

[HKEY_CLASSES_ROOT\*\shell\show me path\command]
@="\"C:\\blah\\blah\\sample batch.bat\"%1"

-样品批次.bat-

@echo off
echo %0
echo %1
pause

文件“try this.mp4”的右键单击命令“显示路径”的结果

"c:\blah\blah\sample batch.bat"
c:\try
press any key to continue . . .

如您所见,我得到“尝试”如何让它显示完整路径/文件名

任何帮助将不胜感激。

4

2 回答 2

0

你可以试试:

echo "%~f1"

但这可能会失败。

于 2013-08-13T16:13:20.093 回答
0

将您的密钥更正为

[HKEY_CLASSES_ROOT\*\shell\show me path\command]
@="\"C:\\blah\\blah\\sample batch.bat\" \"%1\""

要检查调用了所有命令行批处理,请使用ECHO %*.

于 2013-08-14T08:27:21.273 回答