Neden “cd D:” komut içeriğini D :? olarak değiştirmiyor? [çift]


18

Olası Çoğalt:
Windows Komut Satırı'nda cd Komutu Kullanılıyor, D: \ 'ye Gidemiyor

Dizin içeriğini bir Windows komut isteminde başka bir sürücüye (D, E, F veya her neyse ..) "Drive letter":\değiştirmek istediğimde, gerçekten değiştirmek için komutu kullanmalıyım . Birlikte denerseniz "cd komutu" ile ilgili cd H:\benim için \ ve hiçbir şey: o sadece H yankı:

Resim tanımını buraya girin

Böyle bir davranışın bir nedeni var mı? Demek istediğim, cd commandbunu yapmak için işe yaramadı mı? Neden yapmıyor


Yanıtlar:


27

Deneyin:

cd /d d:

/d ayrıca sürücü harflerinin yanı sıra dizinleri de değiştirir, diğer bilgiler için bkz. cd /?


1
Cmd.exe bu durumda DOS'un davranışını taklit eder gibi görünür, burada her sürücü için "geçerli dizin" farklı şekilde hatırlanır.
LawrenceC

4
"Neden Dullar bu şekilde çalışıyor?" İfadesinin asıl cevabı şudur: DOS böyle yapmıştır.
KutuluMike

12

Windows'un bu şekilde davranmasının nedeni DOS'un böyle davranmasıdır.

DOS'ta her sürücünün kendi geçerli dizini vardır ve cdkomut sürücüdeki geçerli dizini değiştirir. Bu aynı zamanda geçerli sürücü ise , çalışma dizininiz onunla birlikte değişir. Mevcut sürücüyü değiştirmek istiyorsanız, sürücü harfini komut olarak belirtmeniz yeterlidir.

Windows'un artık gerçekten bu şekilde çalışmadığını - herhangi bir zamanda yalnızca bir geçerli dizininiz olduğunu - ancak komut kabuğu, sürücü başına hala geçerli dizinler bulunduğunu iddia etmek için çok uzun sürüyor. Muhtemelen bu, mevcut DOS toplu iş dosyalarıyla uyumluluğu korumaktır.

DOS'un bu şekilde çalışmasının nedeni, DOS'un en eski sürümlerine ve bundan önceki CP / M'ye dayanır. Kanlı detayları Raymond Chen'in blogunda bulabilirsiniz .


6

Açık cevap, "çünkü bu şekilde çalışmak için yazılmadı" dır. Basitçe girmek D:istediğiniz şeyi yapacaktır.

İlginç bir şekilde girmek cd D:\somedir, aslında şu anki dizini D: ile \ data arasında değiştirecek, ancak mevcut komut istemini D: ile değiştirmeyecektir.

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.