Aşağıdaki cmd komut dosyaları arasındaki fark nedir?


10

Bir toplu iş dosyası aracılığıyla birkaç program başlatmayı denedim ve sorunlarla karşılaştı, ancak bu geçmişte.

Komut dosyaları ve komut satırları için nispeten yeniyim ve bu benim sorum olacak: Aşağıdaki cmd komut dosyaları arasındaki fark nedir?

Bu kabul edildi

Start Chrome

(Burada bazı yüklü programların başlık tarafından tanındığını tahmin ediyorum, dir hala chrome.exe programı hala başlatıldığı yerde olmasa da, kayıt defteri anahtarları bu konuda bir rol oynuyor?)

bu da işe yarıyor

cd "FOO_DIR"
start FOO.exe

ancak bunlar

start "FOO_DIR\FOO.exe"

(FOO.exe dosyasını başlatmadan yeni bir pencere açar)

start /B "FOO_DIR\FOO.exe"

(telif hakkı metnini tekrar yazar ve başka bir şey yapmaz)

(OS Windows 7 x64)

Yanıtlar:


17
Start Chrome

Chrome'un yürütülebilir dosyası PATHortam değişkenindeki bir klasörde bulunduğundan bu çalışır . startbu değişkenin tüm klasörlerindeki programları arar. Ortam değişkeni PATHEXT, aranacak dosya uzantılarının bir listesini içerir ve .exevarsayılan olarak içerildiği gibi , yazmanıza gerek yoktur chrome.exe.


start "FOO_DIR\FOO.exe"

Bu işe yaramaz, çünkü startalıntılanırsa ilk argümanını pencere başlığı olarak kullanır. Bu "FOO_DIR\FOO.exe", başlığı olarak yeni bir CMD açacaktır .

Bunu atlatmak için komutunuzdan önce boş bir başlık bağımsız değişkeni ekleyebilirsiniz:

start "" "FOO_DIR\FOO.exe"

Ayrıca, AFAIR, başlık komut satırı anahtarları ile yürütülebilir dosyaları başlatırken zorunludur
abstrask

1
Bu, startbir başlığı ilk argümanı olarak beklemek değildir (aksi takdirde start chromeişe yaramaz), eğer ilk argümanı alıntılanırsa, bir başlık olmasını bekler.
jamesdlin

@jamesdlin ah, bununla ilgili belgeler biraz belirsiz, teşekkürler. Cevabı buna göre düzenledim
crater2150

5

Eklemeyi deneyin "title"veya en azından ""sonra startböyle:

start "title" "FOO_DIR\FOO.exe"

veya

start "title" /B  "FOO_DIR\FOO.exe"

Sorunun temel nedeni, "" tırnak içindeki ilk argümanın titleyeni cmdpencere için bir parametre olarak yorumlanmasıdır .

Ayrıca komut referansına (link) bakmaya yardımcı olur


Teşekkürler, bu fark açıklığa kavuştu. Ve birincisi ile "Çalıştırılamayan dosyalar sadece dosya adını bir komut olarak yazarak dosya ilişkilendirmeleriyle çağrılabilir." sadece adın yeterli olmasının nedeni ... (emin değilim)
Bay Smith

start chromeBen senin firts örnek hakkında konuşuyorsanız chrome çağırmanın işe yaradığını düşünüyorum, çünkü burada bir yerde kayıt defterinde bir giriş var: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths chrome.exe'yi ararsanız büyük olasılıkla çalıştırılabilir dosyanın tam yolunu içeren girdiyi bulun.
Art Gertner
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.