0

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

我正在寻找的这个批次基本上就像我制作的 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

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

4

3 回答 3

1

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

set zone=mcp_data
set APPDATA=%CD%\%zone%
if defined ProgramFiles(x86) (
     Start MC64.exe
  ) else (
     start mc32.exe
  )
exit
于 2013-09-24T09:39:07.720 回答
0
if %PROCESSOR_ARCHITECTURE%=AMD64 (
 start MC64.EXE
) else (
 start MC32.EXE
)

为什么更复杂?

于 2014-06-12T19:07:58.197 回答
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
于 2013-09-24T01:16:41.823 回答