Sadece merak. Şirketimizdeki "Cool" insanlar her zaman * .cmd kullanıyor, bu arada kimse bana farkı açıklayamıyordu.
Sadece merak. Şirketimizdeki "Cool" insanlar her zaman * .cmd kullanıyor, bu arada kimse bana farkı açıklayamıyordu.
Yanıtlar:
Her biri için kullanılan komut dilinde anlamsal farklılıklar vardır ( .bat
dosyalar bir uyumluluk sürümü alır). Bunlardan bazıları buradan itibaren bu senaryo ile gösterilebilir :
@echo off&setlocal ENABLEEXTENSIONS
call :func&&echo/I'm a cmd||echo/I'm a bat
goto :EOF
:func
md;2>nul
set var=1
Temel olarak, .cmd
dosyalar MS komut dilinin güncel ve daha seksi sürümünü alır, bu nedenle havalı çocuklar bunları kullanır.
Wikipedia'ya göre:
.bat: Microsoft tarafından toplu iş dosyaları için kullanılan ilk uzantı. Bu uzantı, MS-DOS ve Microsoft Windows'un çoğu sürümü dahil olmak üzere çoğu Microsoft İşletim Sisteminde çalıştırılabilir.
.cmd: Yeni .cmd uzantısı, Windows NT tabanlı sistemler tarafından 'Windows NT Komut Denetimi' olarak tanımlanır ve .batd yerine bir .cmd uzantısı kullanmak, Windows'un önceki sürümlerinin nasıl yapılacağını bilmeyeceği anlamına gelir çalıştırın, böylece COMMAND.COM stil dosyalarının komutlarını çalıştırmaya ve hata yapmaya çalışın ve komut uzantılarının bulunmamasından dolayı yeni stil komutlarını çalıştırmayı başararak, komut dosyalarının sadece kısmen çalıştırılmasına neden olacak (ki bunun için zarar verebilir) örneğin; bir dosyanın başarılı bir şekilde kopyalanıp kontrol edilmediğini ve ardından orijinalin silinmediğini).
.Cmd ve .bat dosya işleme arasındaki bilinen tek fark, bir .cmd dosyasında ERRORLEVEL değişkeninin, Komut Uzantılarından (Komut Uzantıları etkinleştirildiğinde) .bat dosyalarında ERRORLEVEL değişkeninden etkilenen başarılı bir komutta bile değişmesidir. sadece hatalar üzerine değişir.
Bu yardımcı olur umarım.
Teoride .cmd daha "trueЪ" :) :) çünkü .bat eski DOS command.com için bir komut dosyası iken .cmd, Windows NT'den cmd.exe için iken, sonuncusu biraz daha gelişmiş komut dosyası kullanır. Gerçek hayatta, her ikisi de eşittir, Linux'ta / bin / sh veya / bin / bash yazmak (sh'in bash olduğu durumlar anlamına gelir)
İlk önce OS / 2 altında kullanılan .cmd formatını gördüm. DOS terimleriyle düşünüyorsanız, steroidler üzerinde bir .bat dosyası gibi. .bat dosyaları ilk olarak DOS tipi işletim sistemlerinde tanıtıldı. Sözdizimin birçoğu, gelişmiş işlevlere girmeye başladığınız durumlar dışında benzerdir. Ayrıca, bir .cmd dosyası, 16 bitlik bir ortamda (win98) çalışmayan bir potansiyele sahipken, bir .bat dosyası muhtemelen tüm ortamlarda çalışacaktır.