Ehr*_*ryk 3 windows batch-file variable-expansion
我已经通过HKCR\Drive\shell\MapLocalDriveHere \命令中的注册表向我的上下文菜单添加了一个命令,这样当我右键单击一个驱动器时.我希望它能给我一个右键单击的驱动器名称"C:"而不是"C:\",因为这会导致我正在尝试运行的命令出现问题.
cmd /c subst %1 /D
Run Code Online (Sandbox Code Playgroud)
这扩展到:
cmd /c subst C:\ /D
Run Code Online (Sandbox Code Playgroud)
命令失败(它预期subst C: /D).如何在没有尾随\的情况下获取参数,或者将其删除?%~d1并且%~1不要从注册表项扩展,键入REG_EXPAND_SZ.
您可以通过查看位于https://github.com/Ehryk/ContextMenuTools的项目来源(尤其是此文件:https://github.com/Ehryk/ContextMenuTools/blob)更好地了解我正在尝试做的事情./master/Custom%20Installs/Map%20Local%20Drive%20Here/MapLocalDriveHere.inf)
你进入一个带有冒号的驱动器号参数的for /f循环%%~d:
FOR /f "delims=" %%a IN ("%~1") DO cmd /c subst %%~da /D
Run Code Online (Sandbox Code Playgroud)