BATCH bat1.bat Вызов внешней функции в bat2.bat - PullRequest
1 голос
/ 11 ноября 2011

Я хотел бы иметь два файла с битами.

  • BAT1: список функций
  • BAT2: вызывает одну конкретную функцию в BAT1.

BAT1:

@echo off              
:ALPHA                
echo ALPHA             
goto end            

:BETA            
echo BETA                        
goto end            

:end            
pause            

BAT2:

@echo off             
call bat1.bat             
goto BETA                        

Это, очевидно, не работает. Я попробовал некоторые другие изменения без результата.

BAT1: возвращает АЛЬФА и никогда не БЕТА.
Я хочу запустить BAT2, который будет называться BETA в BAT1.

Если вы думаете, что это возможно, пожалуйста, помогите мне. Я не нашел решений в интернете, иначе как назвать значение во внешнем файле. Но это не решает мою проблему.

Ответы [ 2 ]

3 голосов
/ 11 ноября 2011

Использовать аргументы при вызове bat1.Затем в bat1 проверьте входной параметр и перейдите к нужной метке.

2 голосов
/ 04 августа 2014

@ Миксер июля: в основном это работает так:

BAT1:

@echo off 
goto %1             
:ALPHA                
echo ALPHA             
goto end            

:BETA            
echo BETA                        
goto end            

:end            
pause            

BAT2:

@echo off             
call bat1.bat BETA           
echo returned

%1 - это первый аргумент (иначепараметр) дано.(в данном случае BETA)

РЕДАКТИРОВАТЬ добавление некоторой обработки ошибок в BAT1:

@echo off
if not "%1"=="" findstr /i /x /c:":%1" %~df0 >nul 2>&1 &&goto %1
echo wrong parameter
exit /b

:alpha 
echo Alpha
goto :eof

:beta 
echo Beta
goto :eof
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...