创建批处理以启动多个批处理

时间:2013-09-24 00:55:51

标签: batch-file minecraft

我正在尝试创建一个批处理文件来启动我从1 .batch文件而不是2个单独文件中创建的2个批处理文件之一。我正在尝试将其输入您可以输入数字或字母的位置,单击输入,然后它将启动该.batch。我已经测试了两个单独的.batch文件工作:我只是试图找到一个.batch文件从一个地方启动它们,所以我不必继续浏览文件夹只是为了启动它们。为什么我需要这个:2个单独的.batch文件是在我从minecraftforum下载了两次使用jportable(32位+ 64位程序)的minecraft portable 2.7.2之后制作的。如果计算机与上一个计算机有不同的位置,我每次插入USB时都不想继续在文件夹之间切换,所以我想找一个.batch来启动2个.batch文件中的一个(而不是我不断切换,我只是转到这个批次,选择其中一个,然后选择将启动)

我正在寻找的这个批次基本上就像我制作的2个.batch文件的启动面板一样。我制作的2个.batch文件是:

set zone=mcp_data
set APPDATA=%CD%\%zone%
Start MC64.exe
exit

第二是:

set zone=mcp_data
set APPDATA=%CD%\%zone%
Start MC32.exe
exit

如果有人可以提供帮助,我将非常感激。

3 个答案:

答案 0 :(得分:1)

这应该有效,而不是有两个批处理文件:

set zone=mcp_data
set APPDATA=%CD%\%zone%
if defined ProgramFiles(x86) (
     Start MC64.exe
  ) else (
     start mc32.exe
  )
exit

答案 1 :(得分:0)

两种可能的解决方案,第一个示例解决方案接受一个参数,因此在命令行中键入“launcher 1”或“launcher 2”。这具有额外的优势,您可以使用适当的参数设置快捷方式。第二个解决方案执行您实际要求的提示。我将两者合并为一个批处理文件,因此您可以使用这两种方法。

@echo First solution
if "%1"=="1" call Batch1.bat
if "%1"=="2" call Batch2.bat
if not "%1"=="" goto end
rem or alternatively

@echo Second solution
set /p id=Enter number: 
if "%id%"=="1" call Batch1.bat
if "%id%"=="2" call Batch1.bat
:end

答案 2 :(得分:0)

if %PROCESSOR_ARCHITECTURE%=AMD64 (
 start MC64.EXE
) else (
 start MC32.EXE
)

为什么更复杂?