我目前正在尝试将一个程序集成到我的 shell 中,该程序是一个 CLI 工具,它有多个传递给它的文件的选项。我知道可以运行'代码'在注册表中。至少看起来与批处理脚本具有类似的语法。一个例子是,%1
如果您想将文件传递给给定程序。有问题的程序解压某种文件类型,如果我直接使用命令行,我可以使用以下代码将内容提取到与我提供的 infile 同名的文件夹中:
Decompiler.exe -i %* -o "%~n1"
我不知道%~n1
通配符的确切术语,但我知道它的其他用途,例如%~nx1
(name 和 eX论证张力 1)。除此之外,如果我在注册表中使用相同的通配符,它会输出到标有的文件夹%~n1
。是否可以在注册表中使用此通配符来获得与在 CLI 中使用相同的效果,或者是否有等效的替代方法?
答案1
的语法%~n1
称为
变量替换。
这是由 CMD ( cmd.exe
) 处理的,它也可以运行.bat
文件,但是不是包含在注册表中时进行处理。
您应该创建一个.bat
文件来执行您需要的任何任务,并根据需要包含变量替换,然后从注册表中调用该文件。