cmd.exe
Geliştirici(ler) | Microsoft, IBM, ReactOS |
---|---|
İlk yayınlanma | Aralık 1987 |
İşletim sistemi | Windows Windows NT Windows CE OS/2 eComStation ReactOS |
Platform | IA-32, x86-64, ARM ve Itanium Eskiden: Alfa, MIPS ve PowerPC |
Tür | Komut satırı |
cmd.exe, Microsoft Windows, Windows NT, Windows CE, OS/2,[1] EComStation ve ReactOS'un varsayılan Komut satırı uygulamasıdır. Uygulama çeşitli işletim sistemlerinde farklılık gösterebilir ancak kullanımı ve komutları hemen hemen aynıdır.
cmd.exe, DOS ve Windows 9x sistemlerinde COMMAND.COM'un karşılığıdır ve Unix benzeri sistemlerde kullanılan Unix kabuklarına benzemektedir. Windows NT için cmd.exe uygulamasının ilk sürümü Therese Stowell tarafından geliştirilmiştir.[2] Windows CE .NET 4.2,[3] Windows CE 5.0[4] ve Windows Embedded CE 6.0'da[5] Komut İşlemci Kabuğu olarak da adlandırılır. ReactOS uygulaması ise, FreeDOS komut satırı yorumlayıcısı olan FreeCOM'dan üretilmiştir.
İşletim
[değiştir | kaynağı değiştir]cmd.exe bir komut satırı arabirimi aracılığıyla kullanıcıyla etkileşime girer. Windows'ta bu arabirim Win32 konsolu üzerinden uygulanır. cmd.exe, kendi platformunun yerel programları tarafından kullanılabilen OS/2 ve Windows'da, komut satırlarında gerçek boruların kullanılması ve boru hattının her iki tarafının aynı anda çalışmasına izin verilmesi gibi özelliklerden de yararlanabilir. (COMMAND.COM geçici dosyalar kullanır ve iki tarafı birbiri ardına seri olarak çalıştırır.)
Birden fazla komut && komut ayırıcısı kullanılarak tek bir komut satırında işlenebilir.[6] Örneğin:
C:\>CommandA && CommandB && CommandC
Windows XP ve sonraki sürümlerde, komut isteminde kullanılabilecek dizenin maksimum uzunluğu 8191 karakterdir. Windows 2000 veya Windows NT 4.0 gibi önceki sürümlerde ise, dizenin maksimum uzunluğu 2047 karakterdir. Bu sınır, komut satırını, diğer işlemler tarafından devralınan tek tek ortam değişkenlerini ve tüm ortam değişkeni genişletmelerini içerir.[7] Aşağıdaki özel karakterler için tırnak işaretleri gereklidir:[6]
& < > [ ] { } ^ = ; ! ' +, ' ~ [beyaz boşluk]
Dahili komutlar
[değiştir | kaynağı değiştir]OS/2
[değiştir | kaynağı değiştir]Microsoft OS/2 internal cmd.exe komutlarının listesi aşağıdadır:[8]
- break
- chcp
- cd
- chdir
- cls
- copy
- date
- del
- detach
- dir
- dpath
- echo
- erase
- exit
- for
- goto
- if
- md
- mkdir
- path
- pause
- prompt
- rd
- rem
- ren
- rename
- rmdir
- set
- shift
- start
- time
- type
- ver
- verify
- vol
Windows NT ailesi
[değiştir | kaynağı değiştir]Windows NT ve sonraki sürümlerde cmd.exe tarafından desteklenen komutlar:[9]
- assoc
- break
- call
- cd
- chdir
- cls
- color
- copy
- date
- del
- dir
- dpath
- echo
- endlocal
- erase
- exit
- for
- ftype
- goto
- if
- keys
- md
- mkdir
- mklink (Windows Vista ile tanıtıldı)
- move
- path
- pause
- popd
- prompt
- pushd
- rd
- rem
- ren
- rename
- rmdir
- set
- setlocal
- shift
- start
- time
- title
- type
- ver
- verify
- vol
Windows CE
[değiştir | kaynağı değiştir]Aşağıdaki komut listesi, Windows CE .NET 4.2,[10] Windows CE 5.0[11] ve Windows Embedded CE 6.0'da[12] cmd.exe tarafından desteklenmektedir:
- attrib
- call
- cd
- chdir
- cls
- copy
- date
- del
- dir
- echo
- erase
- exit
- goto
- help
- if
- md
- mkdir
- move
- path
- pause
- prompt
- pwd
- rd
- rem
- ren
- rename
- rmdir
- set
- shift
- start
- time
- title
- type
Ayrıca, net komutu \Windows\net.exe içinde depolanan harici bir komut olarak kullanılabilir.
ReactOS
[değiştir | kaynağı değiştir]ReactOS uygulaması ise aşağıdaki dahili komutları içerir:
- ?
- alias
- assoc
- beep
- call
- cd
- chdir
- choice
- cls
- color
- copy
- ctty
- date
- del
- delete
- delay
- dir
- dirs
- echo
- echos
- echoerr
- echoserr
- endlocal
- erase
- exit
- for
- free
- goto
- history
- if
- memory
- md
- mkdir
- mklink
- move
- path
- pause
- popd
- prompt
- pushd
- rd
- rmdir
- rem
- ren
- rename
- replace
- screen
- set
- setlocal
- shift
- start
- time
- timer
- title
- type
- ver
- verify
- vol
COMMAND.COM ile karşılaştırması
[değiştir | kaynağı değiştir]Windows'ta cmd.exe çoğunlukla COMMAND.COM ile uyumludur, ancak aşağıdaki uzantıları sağlar:
- COMMAND.COM'dan daha ayrıntılı hada mesajları. OS/2'de hatalar, sistemin seçilen dilinde bildirilir, metinleri sistem mesaj dosyalarından alınır. Daha sonra daha fazla bilgi edinmek için HELP komutu hata mesajı numarası ile yazılabilir.
- Komut geçmişinde gezinmek için ok tuşlarının kullanılmasını destekler.
- Dosya ve klasör yolları için komut satırı tamamlama ekler.
- Düzeltme karakteri (^) çıkış karakteri olarak davranır. Cmd.exe ve COMMAND.COM dosyasında (örn. "<", ">" Ve "|") komut satırı işlemcisinin davranışını değiştirmek üzere tasarlanmış özel karakterler bulunmaktadır.
- SETLOCAL EnableDelayedExpansion ile gecikmeli değişken genişletmeyi destekler, çalıştırmadan önce komut dosyasının ayrıştırılması (Windows 2000 ve üstü) yerine çalışma zamanında değişkenlerin değerlerinin hesaplanmasına izin vererek, denetim yapılarını sert ve karmaşık hale getiren DOS deyimlerini düzeltir. Daha katı bir uyumluluk modu sağlayarak uzantılar devre dışı bırakılabilir.
Ayrıca dahili komutlarda da çeşitli geliştirmeler bulunmakta:
- DELTREE komutu, /S anahtarının bir parçası olarak RD komutuyla birleştirildi.
- SetLocal ve EndLocal komutları, ortamdaki değişikliklerin kapsamını sınırlar. SetLocal komutlarından sonra komut satırı ortamında yapılan değişiklikler toplu iş dosyası için yereldir. EndLocal komutu önceki ayarları geri yükler.
- Call komutu, toplu iş dosyası içindeki alt yordamlara izin verir.
- Ayarla komutunun dosya adı ayrıştırıcı uzantıları C kabuğuyla karşılaştırılabilir.
- Set komutu ifade değerlendirmesi yapabilir.
- For komutunun genişletilmesi, dosya adlarına ek olarak dosyaları ve rastgele kümeleri ayrıştırmayı destekler.
- Yeni PushD ve PopD komutları, bir web tarayıcısında veya Dosya Gezgini'ndeki "ileri" ve "geri" düğmelerine benzer gezinme yollarından geçmiş erişim sağlar.
- Koşullu IF komutu, büyük / küçük harfe duyarlı dize karşılaştırmalarına ek olarak büyük / küçük harfe duyarlı olmayan karşılaştırmalar ve sayısal eşitlik ve eşitsizlik karşılaştırmaları gerçekleştirebilir.
Kaynakça
[değiştir | kaynağı değiştir]- ^ "Notes on using the default OS/2 command processor (CMD.EXE)". 19 Şubat 2006. 13 Şubat 2002 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2020.
- ^ McConnaughey Boling Douglas. Programming Microsoft Windows CE (İngilizce). ISBN 978-0735614437.
- ^ "Command Processor Shell". Microsoft. 30 Haziran 2006. 15 Mayıs 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2020.
- ^ "Command Processor Shell (Windows CE 5.0)". Microsoft. 14 Eylül 2012. 11 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2020.
- ^ "Command Processor Shell (Windows Embedded CE 6.0)". Microsoft. 6 Ocak 2010. 15 Mayıs 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2020.
- ^ a b "cmd". Microsoft. 16 Ekim 2017. 17 Temmuz 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2020.
- ^ "Command prompt (Cmd. exe) command-line string limitation". Microsoft. 17 Nisan 2018. 21 Mayıs 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2020.
- ^ Microsoft Operating System/2 Kullanıcı Kılavuzu (PDF). Microsoft. Ekim 1987. 17 Ekim 2020 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 14 Mayıs 2020.
- ^ Tim Hill (1998). Windows NT Shell Scripting (İngilizce). Macmillan Inc. ISBN 978-1578700479. Erişim tarihi: 14 Mayıs 2020.
- ^ "Command Processor Commands". Microsoft. 30 Haziran 2006. 15 Mayıs 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2020.
- ^ "Command Processor Commands (Windows CE 5.0)". Microsoft. 14 Eylül 2012. 15 Mayıs 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2020.
- ^ "Command Processor Commands (Windows Embedded CE 6.0)". Microsoft. 5 Ocak 2012. 15 Mayıs 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2020.