Komut satırı - başka bir toplu iş dosyasını çağıran toplu iş dosyası


13

PATH dizininde var olan başka bir toplu iş dosyasını çağıran bir toplu iş dosyası var (temelde ek anahtarları olan bir yürütülebilir dosya çağırma).

: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.

Foo.bat içinde:

foo.exe -t -s %1

bar.bat ilk komutu yürütür ancak geçici olarak çıkar (yani yalnızca file1.txt üzerinde çalışır ).

Bu toplu iş dosyasını, diğer toplu iş dosyasını birden fazla kez çağırmak için nasıl yapabilirim?

Yanıtlar:


14

CALL anahtar sözcüğünü kullanın:

call foo.bat file1.txt
call foo.bat file2.txt

1
<Duncan Smart'ın cevabından kopyalandı, sadece bir arada tutmak için> @ splattne'nin cevabına ek olarak, erken dönmeniz gerekiyorsa CALLed toplu iş dosyasında exit / b kullanın.
Brad Bruce

1
goto :eofErken dönmek için de kullanabilirsiniz . exit /bgenellikle yalnızca dönüş koduna ihtiyacınız varsa gereklidir.
Joey

Ama işe bu almak için mücadele ediyorum neden yok, ben de denedim exit /bve goto: eof. ÇAĞRIlanmış yarasanın çıktısını eklemek doğru olur mu? call foo.bat > myfile
SSH Bu

4

@ Splattne cevabı yanı sıra, kullanım exit /biçinde CALLed toplu dosya erken dönmek gerekirse.


2

Başka bir seçenek (3.3 sürümünden önceki DOS ile uyumluluk için :-)) komut işlemini child (/ c) seçeneği ve işlenecek diğer toplu iş dosyasının adıyla çağırmaktır. Bu aynı zamanda bir zincir yerine bir çağrı yapacak ve hatta gerçekten eski makinelerde bile çalışacak (birisinin bununla karşılaşması ve umurunda olması durumunda). :-)


0

@Eko kapalı

echo WbLegalReport.cmd

ben:

cd I: \ CFS \ Toplu \ jarDir

echo% CD%

WbLegalReport.cmd

echo% CD%

echo WatchResrAddDeleted.cmd

echo% CD%

WatchRestrAddDeleted.cmd

echo% CD%

Burada yapmaya çalıştığım sırayla bu iki toplu iş dosyaları çağırmaktır.

Bunu yapamıyorum.

yardım lütfen.

Kontrol ana komut dosyasına geri dönmediği için, alt komut dosyasında başarısız oluyor


0

Sanket, toplu iş dosyasını doğrudan arama. "CALL" komutunu kullanın. Bkz splattne 'in örnek.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.