【问题标题】:Regedit Right-click menu to skip to a specdific goto function in batchRegedit 右键菜单批量跳转到特定的 goto 函数
【发布时间】:2013-01-03 10:54:27
【问题描述】:

我已经使用注册表修改了我的右键菜单来启动一个批处理文件,这很有效,但是我的批处理文件包含使用GOTO 函数的子例程。是否可以使用下面给出的注册表示例启动批处理文件并跳到特定的goto 命令?

以下是我启动批处理的代码(有效):

 Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\MakeSomethingUp2\]
@="START SUB-COMMAND 1"

[HKEY_CLASSES_ROOT\*\shell\MakeSomethingUp2\command]
@="\"C:\\MY_BATCH_PROGRAM.bat\" \"%1\""

【问题讨论】:

    标签: batch-file switch-statement goto regedit


    【解决方案1】:

    如果您的批处理文件只接受一个参数,您可以使用第二个参数来表示您是要运行主要部分还是子例程(以及哪一个)。

    更具体地说,您可以这样做:

    @ECHO OFF
    IF "%2" == "sub1" GOTO sub1
    IF "%2" == "sub2" GOTO sub2
    
    :: otherwise just get on with the main part
    ...
    
    :sub1
    ...
    
    :sub2
    ...
    

    现在您可以在注册表文件中指定如下内容:

    @="\"C:\\MY_BATCH_PROGRAM.bat\" \"%1\" sub1"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      相关资源
      最近更新 更多