2011-11-11 1 views
1

2つのバットファイルがあります。バッチbat1.bat bat2.batの外部関数を呼び出します。

  • BAT1:機能のリスト
  • BAT2は:BAT1内の1つの特定の機能を呼び出します。

BAT1:

@echo off    
:ALPHA     
echo ALPHA    
goto end    

:BETA    
echo BETA       
goto end    

:end    
pause    

はBAT2:

@echo off    
call bat1.bat    
goto BETA       

これは明らかに動作しません。私は結果なしでいくつかの変更を試みました。

BAT1:ALPHAを返し、決してベータを返しません。
私がしたいのは、BAT1をBETAと呼ぶRUN BAT2です。

あなたが可能と思われる場合は、私を助けてください。私は、インターネット上で外部ファイルの値を呼び出す方法についての解決策を見出していません。しかし、それは私の問題を解決しません。

答えて

3

bat1を呼び出すときに引数を使用します。次に、bat1で入力パラメータを確認し、必要なラベルに移動します。

+0

OKを私は、あなたの迅速な答えをありがとうする方法を発見しました。それは完全に機能します。どうもありがとう ! – user1041464

2

@Julyミキサー:基本的には次のように動作します。

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を与えられた(パラメータ別名)は、最初の引数です。 BAT1にはいくつかのerrorhandling追加

EDITBETAこの場合には):

@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 
+0

"%1" == ""%1 ""%1 "でない場合は、正しい"%1 "==" "goto%1' – konsolebox

+1

"を選択することをお勧めします。はい、もちろん。したがって、私は「基本的に」書きました。 – Stephan

+0

ええ、ちょうど何かを追加しています。あなたは私の+1を持っていました。 – konsolebox

関連する問題