0

我从自己的扩展文件类型调用批处理文件。在批处理文件中,我将显示调用文件的详细信息。我知道通过在调用时传递参数,我们将传递它,我们将通过“%~sn1”或“%1”或“%~nx1”得到。但我需要不传递参数。

Sample Example
My batch file code looks like this(main.bat)

@ECHO on
set modelname=(here i want help) 
java  -Djava.library.path="C:\Program Files\Internet Explorer" -Xms1024m  -Xmx1024m -jar  dist/XYZ.jar -models %modelname%
exit

如果我点击“ Kitchen.xyz ”,那么它将调用我的批处理文件“ main.bat ”。现在我想将“ modelname ”设置为“ Kitchen.xyz ”。如果我单击“ LivingRoom.xyz ”,:modelname设置为“ LivingRoom.xyz ”。

谁能帮忙请...

谢谢

4

1 回答 1

0

您将需要更改与 .xyz 文件类型关联的 Windows 注册表

[HKEY_CLASSES_ROOT\.xyz\shell]
[HKEY_CLASSES_ROOT\.xyz\shell\Name Of Your Command]
@="&Name Of Your Command"
[HKEY_CLASSES_ROOT\.xyz\shell\Name Of Your Command\command]
@="\"C:\\Path\\To\\Your\\Batch\\File\\main.bat\" \"%1\""

将该文本保存在 .reg 文件中并执行它以应用注册表更改。然后,当您右键单击 .xyz 文件时,“您的命令名称”将是选项之一,并且可能是双击时运行的默认选项。

那么你的 main.bat 仍然需要接受一个参数并将其分配给 modelname。

您也可以使用该REG命令以编程方式执行此操作,但无论您使用哪种方法进行设置,都需要运行一些东西来设置您想要在其上执行此操作的每台机器。

于 2013-11-13T19:42:56.403 回答