2013-09-24 4 views
0

2 개의 배치 파일 대신 1 개의 .batch 파일에서 만든 배치 파일 중 하나를 실행하도록 배치 파일을 만들려고합니다. 나는 숫자 나 문자를 입력 할 수있는 곳에 그것을 만들려고 노력하고 있는데, 입력을 클릭하면 그 행렬이 시작됩니다. 필자는 이미 2 개의 별도의 .batch 파일을 테스트했습니다. 단지 .batch 파일을 찾아서 한 곳에서 실행하려고 했으므로 폴더를 계속 실행하지 않아도됩니다. 왜 내가 필요합니까? 2 개의 별도의 .batch 파일은 minecraftforum에서 minecraft portable 2.7.2를 다운로드 한 후 jportable (32 비트 + 64 비트 프로그램)을 두 번 사용하여 만들어졌습니다. 컴퓨터가 마지막 비트와 다른 비트를 가진다면 USB를 연결할 때마다 폴더간에 전환을 유지하고 싶지 않아서 .batch 파일을 찾지 않고 대신 .batch 파일 중 하나를 실행하려고했습니다. 끊임없이 전환, 나는 단순히이 배치에 가서 2 중 하나를 선택하고 선택한 것이 시작됩니다)배치를 만들어서 하나 이상의 배치를 만듭니다.

이 배치는 기본적으로 내가 만든 2 개의 .batch 파일에 대한 실행 패널처럼 작동합니다. . 내가 만든 2 개 .batch 파일은 다음과 같습니다

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

2이다 : 누군가가 도움을 줄 수있는 경우

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

, 나는 그것을 대단히 감사하겠습니다.

답변

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 
1

이 대신이 개 배치 파일을 필요없이 작동합니다 :

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

왜 더 복잡한?

관련 문제