Windows 7 批处理和注册表中的变量编辑以获得右键单击支持

Windows 7 批处理和注册表中的变量编辑以获得右键单击支持,windows-7,batch-file,cmd,Windows 7,Batch File,Cmd,我有这个批处理文件,它需要在文件夹中做一些事情 这就是我想要的: -右键单击时的快捷方式。(shell32我想你应该用注册表来编辑,或者…?有人能这么说吗?) -如果按下该快捷方式,则批处理将打开,并找到右键单击的文件夹。应将其设置为变量,%folder% 谢谢。有关注册表文件: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Folder\shell\TEXT_TO_SHOW_IN_EXPLORER_CONTEXT] [HKE

我有这个批处理文件,它需要在文件夹中做一些事情

这就是我想要的:

-右键单击时的快捷方式。(shell32我想你应该用注册表来编辑,或者…?有人能这么说吗?)

-如果按下该快捷方式,则批处理将打开,并找到右键单击的文件夹。应将其设置为变量,%folder%

谢谢。

有关注册表文件:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\TEXT_TO_SHOW_IN_EXPLORER_CONTEXT]

[HKEY_CLASSES_ROOT\Folder\shell\TEXT_TO_SHOW_IN_EXPLORER_CONTEXT\command]
@="C:\\Path\\to\\batch.cmd \"%1\""
对于批处理文件:

set folder=%1
:: remove the " from the variable
set folder=%folder:"=%
echo %folder%

如果要保留
”围绕文件夹路径。

您是否意识到批处理并没有真正帮助您?它所要做的就是为生成cmd进程设置环境变量。一旦批量完成,它就会死亡。您可以通过
setx
在注册表中设置它,但是您总是有一个
文件夹
变量,每隔一段时间指向其他地方。我是否总是需要两个斜杠作为cmd的路径?它似乎失败了。我所做的:-创建新文件夹-创建新命令文件夹-将默认字符串设置为@=“C:\\Path\\to\\batch.cmd\%1\”,这样,它就不会在右键单击shell菜单中显示该选项。您不会将默认字符串设置为完整字符串。将其设置为
=
符号后的所有内容。因此,只需
“C:\\Path\\to\\batch.cmd\%1\
,这似乎只在您单击资源管理器中的子文件夹而不是当前所在的文件夹时起作用。