1

我已经使用注册表修改了我的右键菜单来启动一个批处理文件,这很有效,但是我的批处理文件包含使用该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\""
4

1 回答 1

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"
于 2013-01-03T11:14:08.297 回答