在文件夹的上下文菜单中运行批处理文件

时间:2015-05-24 05:35:33

标签: windows batch-file cmd registry explorer

当我右键单击任何文件夹时,我想运行此批处理文件(setenv.cmd):

@echo off
SET CPLUS_INCLUDE_PATH=C:\mingw32\include;C:\mingw32\lib\gcc\mingw32\4.9.2\include;
SET PATH=%PATH%;C:\Archivos de programa\7-Zip;C:\Archivos de programa\WinRAR;C:\usr\bin;C:\msys\1.0\bin;C:\gtk2\bin
SET PKG_CONFIG_PATH=C:\gtk2\lib\pkgconfig;C:\usr\lib\pkgconfig
@echo on

我从this page设置了我的注册表,其中包含“提示符”。我的问题是如何从所选目录打开控制台窗口并运行我的批处理文件?

1 个答案:

答案 0 :(得分:3)

使用&。在Windows 8.1上:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\cmdDD]
@="CMD + setenv"

[HKEY_CLASSES_ROOT\Directory\shell\cmdDD\command]
@="cmd.exe /s /k pushd \"%V\"&call \"D:\\full\\path\\to\\setenv.cmd\" \"%V\""

;

请注意,数据中的所有内部"双引号和\反斜杠都是转义,并带有\反斜杠。实际上,数据如下:

==>reg query HKEY_CLASSES_ROOT\Directory\shell\cmdDD\command

HKEY_CLASSES_ROOT\Directory\shell\cmdDD\command
    (Default)    REG_SZ    cmd.exe /s /k pushd "%V"&call "D:\full\path\to\setenv.cmd" "%V"

修改cmd.exe /s /k pushd "%V"&call "D:\full\path\to\setenv.cmd"就足够了。附加(尾随)"%V"仅仅是 my 调试实践(@echo %1的剩余部分,以确保其正常工作)。

资源(必读):