File 如何找出哪个文件触发了批处理?

File 如何找出哪个文件触发了批处理?,file,batch-file,associations,File,Batch File,Associations,我通过使用更改了.prt的文件类型关联 ASSOC .prt=PartFile FTYPE PartFile=C:\Users\...\Desktop\pass.bat %1 这将在双击.prt文件时打开另一个批处理文件。我想知道双击时使用的文件名,但下面的代码在pass.bat文件中对我不起作用。任何帮助都将不胜感激 echo %1 echo %2 echo %3 echo %4 echo %5 echo %6 echo %7 echo %8 echo %9 找到了另一种方法。我刚刚更改了

我通过使用更改了.prt的文件类型关联

ASSOC .prt=PartFile
FTYPE PartFile=C:\Users\...\Desktop\pass.bat %1
这将在双击.prt文件时打开另一个批处理文件。我想知道双击时使用的文件名,但下面的代码在pass.bat文件中对我不起作用。任何帮助都将不胜感激

echo %1
echo %2
echo %3
echo %4
echo %5
echo %6
echo %7
echo %8
echo %9

找到了另一种方法。我刚刚更改了类的注册表项:

reg add "HKLM\SOFTWARE\Classes\secFile\Shell\Open\Command" /ve /d "\"%RegOpenPath%\" \"%%1\"" /f >nul
reg add "HKCR\Local Settings\Software\Microsoft\Windows\Shell\MuiCache" /v "%RegOpenPath%"  /d "%RegOpenName%" /f >nul

正如预期的那样,它在这里工作。可能是.bat文件的路径错误?确保在.bat的末尾有
暂停
,以实际查看输出(对于愚蠢的提醒,很抱歉)。无论如何,请提供更多关于“代码对我不起作用”的详细信息。是的,我会在最后暂停一下以查看它。除此之外,你看到的一切都是我用过的。批处理脚本会弹出,但对于每个echo,我只是将echo关闭。