我想在某个文件扩展名上运行shell命令时只获取文件名(而不是完整路径)(在其上下文菜单中) 它可能以某种方式在注册表中,在HKCR下的文件扩展名中完成。 %1%l%L中的任何一个给出完整路径。我只想要文件名
感谢
这个想法很好,但我不能让它发挥作用
我创建了文件 - GetFileName.bat
我把它放在%path%
看起来像这样:
@set Ret="%~n1"
并在注册表中我输入以下命令
cmd /k GetFileName "%L" & hh.exe -decompile extracted %Ret%
表示: *运行this- GetFileName“%L” *然后-hh.exe -decompile提取%Ret%
但是%Ret%
没有给我GetFileName的结果,尽管它包含具有正确值的环境变量Ret。
我想它在注册表中不允许使用这个环境变量,因为它在同一行
答案 0 :(得分:0)
您可以使用%~n
修饰符从脚本参数中的路径中提取文件名,但它似乎无法识别其他环境变量,因此您必须将其填充到单独的批处理文件中:
getext.bat:
@set Ret=%~n1
然后
C:\> getext hello.bat
C:\> echo %Ret%
hello