2011-01-25 27 views

cevap

153

Kullanım CALL kullanabilirsiniz

CALL nameOfOtherFile.bat 

Bu, geçerli toplu iş dosyasının yürütülmesini engeller (duraklatır) ve CALL yazısının tamamlanması tamamlanana kadar bekler.

Engellemesini istemiyorsanız, bunun yerine START kullanın.

Cmd istemi ayrıntılarını CALL /? veya START /? cmd komut istemiyle alın. Sen a.bat var

:

@echo off 
echo "This is b.bat" 
+1

+ ARAÇ/BAŞLATMA hakkında ayrıntılı bilgi için –

1

Bunu aşağıdaki gibi

call script.bat 

ya da sadece

script.bat 
+1

Komut dosyanız içinde başka bir komut dosyasını doğrudan çağırırsanız, çağrılan komut dosyasındaki herhangi bir komutun sıfırdan farklı bir değer (hata) vermesi durumunda, callee betiği de, 'call' işlevinin kullanıldığı yerde yürütmeyi durdurur, yürütme işlemine devam eder. çağrılan komut dosyasındaki bir hata ile bile. –

4

Sen kullanmalıdır ÇAĞRI

CALL batch.bat 
0

örnektir İsme göre, komut satırında çalışıyormuşsunuz gibi. 'Size komut satırından

if "%1"=="blah" bar 

Çalıştır foo blah ve: Yani

, sen echo This is bar.bat! diyor bir dosya bar.bat olduğunu varsayalım ve bir dosyaya foo.bat onu aramak istiyorum, foo.bat bu yazabilirsiniz , orijinal seri Scri başka toplu komut dosyasından bir toplu komut dosyası çağırmak:

C:\>foo blah 

C:\>if "blah" == "blah" bar 

C:\>echo This is bar.bat! 
This is bar.bat! 

Ama dikkat: ll bakınız pt çalışmayı durduracaktır. İkincil toplu komut dosyasını çalıştırmak ve daha sonra önceki toplu iş dosyasına dönmek isterseniz, call komutunu kullanmanız gerekir. Örneğin: Bu konuda foo blah çalıştırırsanız

if "%1"=="blah" call bar 
echo That's all for foo.bat! 

ifadesini görürsünüz:

C:\>foo blah 

C:\>if "blah" == "blah" call bar 

C:\>echo This is bar.bat! 
This is bar.bat! 

C:\>echo That's all for foo.bat! 
That's all for foo.bat! 
18

sadece toplu komut dosyası çağırabilirsiniz:

@echo off 
if exist b.bat goto RUNB 
goto END 
:RUNB 
b.bat 
:END 

ve b.bat

a.bat gelen şartlı olarak adlandırılan Burada

İlgili konular