我从我自己的扩展文件类型调用批处理文件。在批处理文件中,我将显示调用文件的详细信息。我知道通过在调用时传递参数我们将通过它,我们将得到“%~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 ”。
任何人都可以帮忙...
由于
答案 0 :(得分: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
命令以编程方式执行此操作,但无论您使用哪种方法进行设置,都需要运行一些操作来设置您要执行此操作的每台计算机。