【问题标题】:Run a batch file at folder's context menu在文件夹的上下文菜单中运行批处理文件
【发布时间】:2015-05-24 05:35:32
【问题描述】:

当我右键单击任何文件夹时,我想运行这个批处理文件 (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 设置了我的注册表,并带有“此处提示”。我的问题是如何从所选目录打开控制台窗口并运行我的批处理文件?

【问题讨论】:

    标签: windows batch-file cmd registry explorer


    【解决方案1】:

    使用&。在 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 以确保其正常工作)。

    资源(必读):

    【讨论】:

    • 感谢您的帮助:)
    • %V 的用途是什么?这是特定于 Windows 8 的吗?
    • @aschipfl 我不这么认为。很久以前,我在 Windows 中运行了一些自己的测试(XP,如果我记得的话)。 Confirmed here nowadays.
    • 我不知道,谢谢!我不明白链接帖子中的描述“对于没有的动词意味着全部” - 你知道这是什么意思吗?
    • @aschipfl 老实说,我不知道确切的含义,不是英语母语……但是,它的工作原理与我的回答中所述相同。 OP Juze被要求不成功...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 2013-12-20
    • 2012-12-18
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    相关资源
    最近更新 更多