2012-01-13 10 views
8

Farklı bir cmd penceresinde ikinci bir toplu iş komut dosyasını açması gereken bir toplu iş dosyası oluşturuyorum. "Başlat" yerine "ara" komutunu kullanırsam ancak kodun kendi penceresinde başlatılmaması durumunda tüm kodları başarıyla kullanabilirim. Bu hatayı geçmişte birçok kez aldım ve her zaman başlangıç ​​komutuyla ilgili. Süreci nasıl yaptığımı ve her şeyin iyi çalıştığını değiştiriyorum. Başlat komutu neden bu hatayı veriyor ve nasıl düzeltebilirim? Aşağıda kodumun bir örneği."Bu komutu işlemek için yeterli depolama yok" Windows 7 ile bir toplu iş dosyasında başlatma komutunu kullandıktan sonra

start "" /w "k:\Bundle Support files\record serial.cmd" 

ikinci parti dosyası açılıyor ve dosyada birkaç kez son komutu değişti

goto :exit 

:exit 

olan sonuncusu hariç tüm görevleri tamamlar ve her zaman tüm toplu aracılığıyla yapar ama bu partiyi bitiren son komut "bu komutu işlemek için yeterli depolama alanı yok" hatasıyla başarısız olur. Bu, birden fazla makinede (değişken donanım) ve çoklu işletim sistemlerinde gerçekleşir. IRPStackSize düzeltmesini şanssız olarak denedim. Bu hatayı neden aldığımla ilgili herhangi bir öneriniz var mı?

sayesinde Kevin

+1

goto: güle güle ve etiket olarak güle güle kullanın. Çıkış, ayrılmış bir kelime olarak ele alınabilir – rene

+0

@rene Rezervasyonumda sorun yaşadım. Vesilelerle de biter. 'goto güle güle' ve ': güle güle 'iyi bir öneridir. Genelde Fin kullanırım. – MaskedPlant

+0

Önerileriniz için teşekkürler ama sanırım soruma yeterince açık değildim. "Start" komutunun nasıl çalıştığını anlamaya çalışıyorum ve neden "Started" olan bir toplu iş dosyasının son komutun ne olduğunu NEREYDIR. "Bu komutu işlemek için yeterli depolama alanı yok" hatasını alacağım. Bir çalıştırmayı başlatırken başlatma komutunu başarılı bir şekilde kullanabilirim. Sorun toplu iş dosyaları ile kullanıyor. – KevinB

cevap

0

goto :EOF ile goto :exit değiştirin. EOF etiketini tanımlamayın (önceden tanımlanmıştır).

+0

Önerileriniz için teşekkürler ama bence soruda yeterince açık değildim. "Start" komutunun nasıl çalıştığını anlamaya çalışıyorum ve neden "Started" olan bir toplu iş dosyasının son komutun ne olduğunu NEREYDIR. "Bu komutu işlemek için yeterli depolama alanı yok" hatasını alacağım. Bir çalıştırmayı başlatırken başlatma komutunu başarılı bir şekilde kullanabilirim. Sorun toplu iş dosyaları ile kullanıyor. – KevinB

15

Benzer bir sorunla karşılaştım ve benim için çözüm oldukça garipti. Pencerenin başlığının hiçbir şey ("") olarak ayarlanmasının hataya neden olduğu görülmektedir.

Yani, yerine

start "" /w "k:\Bundle Support files\record serial.cmd" 

deneyin

start "Placeholder Name" /w "k:\Bundle Support files\record serial.cmd" 

Ben bu durumda çalışacaktır (ve ben çoktan gitmiş konum olarak bu konularda şüphe) olup olmadığını test edemez ama umarım Bu, benzer hataları yaşayan birisine yardımcı olacaktır.

+1

Bunun işe yaradığını kesinlikle biliyorum. Bir hata mesajının ne kadar korkunç kırmızı bir ringaşı, Windows. –

-1

Bu, cmd'yi başlattığınızda START komutunun yaptığı şeydir. Eğer START cmd koştuysanız, CMD'nin hemen çıkmasını beklemezdiniz - orada kullanıma hazır kalır. Yani ya bir cmd dosyasını çağırırsınız ve bitirir, ya da bir cmd'YE BAŞLAYAR ve bitirmez - ancak EXIT komutunu kullanarak bitirebilirsiniz. Yığın taşması sorunu da SEIPIA tarafından doğru şekilde yanıtlandı - yerine "" filename.cmd komutunu kullanmak yerine, başlık olarak hareket etmek için tırnakların arasına bir şey koyun - yığın taşma hatasını engeller.