การใช้คำสั่ง cd ในบรรทัดคำสั่งของ Windows ไม่สามารถนำทางไปยัง D: \


226

นี่อาจเป็นคำถามที่โง่และฉันคิดว่าฉันได้ดูที่อื่นเพื่อหาคำตอบ ... อาจเป็นปัญหาของเส้นทาง แต่เมื่อฉันเปิดบรรทัดคำสั่งและพิมพ์จากC:\>:

cd D:\

ฉันไปที่ไดรฟ์ D ไม่ได้ แม้ว่าฉันจะพิมพ์:

cd D:\<folder name>

ความcommand.exeประสงค์จะเติมข้อมูลในบรรทัดโดยอัตโนมัติด้วยปุ่มแท็บดังนั้นจึงรู้ว่าฉันอยู่ที่ไหน มันไม่ได้พิมพ์ไปที่หน้าจอผลลัพธ์หรือไปถึงที่นั่นจริงๆ ปัญหานี้มีอยู่สำหรับไดรฟ์เครือข่ายเช่นกัน

ตอนนี้ถ้าฉันใช้คำสั่งchdir( cd) เช่นนี้:

chdir D: หรือ cd d:

ฉันได้รับการพิมพ์ออกมาจากD:\ด้านล่างคำสั่ง C:\แต่ก็ยังบอกว่าผมอยู่ใน

ฉันรู้สึกว่าฉันขาดอะไรง่าย ๆ ไป


ฉันใช้pushdแทนcdทุกที่เพราะมันทำงานได้ดีขึ้นมากในสถานการณ์เช่นนี้
Goyuix

5
ดูคำตอบนี้ " cd / d D: " superuser.com/a/135239/78897
Pacerier

1
ลองสิ่งนี้: cd / dd:
DevWL

คำตอบ:


324

ย้อนกลับไปในสมัยของ DOS มี "ไดเรกทอรีปัจจุบัน" แยกต่างหากสำหรับแต่ละไดรฟ์ cd D:\foldernameเปลี่ยนไดเรกทอรีปัจจุบันของ D: เป็นชื่อโฟลเดอร์ที่ระบุ แต่ไม่เปลี่ยนความจริงที่ว่าคุณยังคงใช้งานC:ไดรฟ์อยู่

สิ่งที่คุณต้องการง่าย ๆ :

D:

คุณสามารถดูวิธีการทำงานของ "ไดเรกทอรีปัจจุบันแยกกันสำหรับแต่ละไดรฟ์"

C:\Users\coneslayer>e:

E:\>c:

C:\Users\coneslayer>cd e:\software

C:\Users\coneslayer>e:

e:\Software>

16
ในสถานการณ์ "ปืนที่เร็วที่สุดในฝั่งตะวันตก" ผู้ชนะคือผู้ที่อธิบายได้ดีที่สุด +1 และฉันลบคำตอบที่คล้ายกันของฉัน
Gnoupi

2
ลบฉันด้วย ไม่จำเป็นสำหรับความยุ่งเหยิงเสริม
th3dude

3
-1 a) คุณไม่ได้ชี้ให้เห็นว่าcd e:\softwareเส้นไม่ได้ทำอะไรเลย ราวกับว่าคุณติดคำสั่ง phantom CD ในนั้นทำไม? เพื่อให้เขาคิดว่าคุณกำลังใช้ซีดีเมื่อคุณไม่ได้? และ b) ว่าในโลกที่คุณสามารถได้กล่าวถึง/dการเปิดใช้งาน CDing ไปยังไดเรกทอรีโดยเฉพาะอย่างยิ่งในไดรฟ์ที่แตกต่างกันเขาไม่บอกว่าใช้คำสั่ง cdดังนั้นในขณะที่มันเป็นเรื่องดีที่คุณชี้ให้เห็นว่าอย่างไรก็สามารถทำได้โดยไม่ต้องใช้คำสั่งซีดีd:<ENTER>ที่คุณควรจะได้กล่าวถึง คำสั่งซีดีเช่นกันcd /d d:หรือcd /d d:\blah
barlop

3
@barlop cd E:\softwareไม่ทำอะไรเลย มันเปลี่ยนแปลงไดเรกทอรีปัจจุบันของพาร์ทิชันอีไปยังsoftwareโฟลเดอร์ซึ่งเป็นสิ่งที่แสดงให้เห็นในที่สุดเมื่อเปลี่ยนไปใช้ E E:กับพาร์ทิชัน ข้อเสนอแนะที่ดีกับ cd / d แม้ว่า
miyalys

@miyalys เป็นจุดที่น่าสนใจและยอดเยี่ยม
barlop

78

มันไม่ทำงานตามที่คำสั่งจะถูกออกแบบมาเพื่อทำงาน

คุณไม่รู้ว่ามันควรจะทำงานอย่างไร

คุณไม่ได้ใช้โปรแกรมเชลล์ Unix หรือ Linux cdคำสั่งในการแปลคำสั่งไมโครซอฟท์ไม่ประพฤติเป็นcdคำสั่งในเปลือกหอยดังกล่าวทำ มันทำงานค่อนข้างแตกต่าง โดยเฉพาะอย่างยิ่งมันไม่ได้เปลี่ยนไดเรกทอรีเสมอ ใน Unix และ Linux shells cdจะตั้งค่าไดเรกทอรีการทำงานเท่านั้น ในล่ามคำสั่งของ Microsoft cdบางครั้งทำการสืบค้น ไม่มีpwdคำสั่งแยกต่างหากดังนั้นcdสองงาน

ถ้าคุณให้มันไม่มีข้อโต้แย้งหรือข้อโต้แย้งที่เป็นเพียงตัวอักษรไดรฟ์และลำไส้ใหญ่โดยไม่ต้องเส้นทางที่แล้วจะรายงานไดเรกทอรีปัจจุบันแทนการเปลี่ยนมัน หากคุณไม่มีอาร์กิวเมนต์มันจะรายงานไดเรกทอรีปัจจุบันของไดรฟ์ปัจจุบันของกระบวนการล่ามคำสั่ง หากคุณให้เฉพาะอักษรระบุไดรฟ์และโคลอนเป็นอาร์กิวเมนต์จะรายงานไดเรกทอรีปัจจุบันของกระบวนการล่ามคำสั่งของไดรฟ์นั้น แต่ละไดรฟ์มีไดเรกทอรีปัจจุบันของตัวเองในล่ามคำสั่ง (นี่เป็นนิยายที่ดูแลโดยไลบรารีรันไทม์สำหรับการใช้งานของ Microsoft และผู้จำหน่ายอื่น ๆ ของภาษาการเขียนโปรแกรมต่าง ๆ Win32 เองไม่สามารถใช้วิธีนี้ได้)

ดังนั้นเมื่อคุณให้มันd:เป็นอาร์กิวเมนต์ก็รายงานขั้นตอนการสั่งล่ามไดเรกทอรีปัจจุบันในไดรฟ์ D D:\ให้คุณซึ่งจะเกิดขึ้น หากคุณไม่ให้ข้อโต้แย้งใด ๆ เลยก็จะรายงานC:\ให้คุณทราบ

หากคุณต้องการให้cdคำสั่งอยู่ในโหมดตั้งค่าเสมอและไม่เคยอยู่ในโหมดสืบค้นคุณจะต้องเพิ่ม/Dตัวเลือกให้กับมัน สิ่งนี้บังคับให้คำสั่งอยู่ในโหมดการตั้งค่าเสมอและยังขยายคำสั่งเพื่อเปลี่ยนไดรฟ์ปัจจุบันรวมถึงการเปลี่ยนไดเรกทอรีปัจจุบันของไดรฟ์ (กล่าวอีกนัยหนึ่งมันทำงานเหมือน Win32 API พื้นฐานจริง ๆ )

ตัวอย่างเช่นบรรทัดคำสั่ง

cd / dd:
จะเปลี่ยนไดเรกทอรีเป็นไดเรกทอรีปัจจุบันในไดรฟ์ D และเปลี่ยนไดรฟ์ปัจจุบันเป็นไดรฟ์ D

หากคุณต้องการเปลี่ยนไดรฟ์ปัจจุบันของกระบวนการล่ามคำสั่งเป็นอย่างอื่นcdคำสั่งนั้นจะไม่เป็นวิธี คุณทำได้โดยพิมพ์อักษรชื่อไดรฟ์และเครื่องหมายโคลอน:

d:

อ่านเพิ่มเติม


6
โพสต์ที่เกี่ยวข้องโดยเรย์มอนด์เฉิน
Daniel Beck

3
ไม่ถูกต้องสมบูรณ์ ถ้าคุณทำมันเปลี่ยนไดเรกทอรีการทำงานในcd d:\ d:ถ้าคุณทำเช่นนั้นมันจะเป็นที่d:\ d:\ หากคุณไม่ทำcd d:\something\somethingอะไรเลยจะเกิดขึ้นในตอนแรก แต่ถ้าคุณทำd:\ หลังจากนั้นอีกครั้งเส้นทางของคุณจะเป็นd:\something\something"!
sinni800

4
ไม่มีสิ่งใดที่ขัดแย้งกับสิ่งที่เขียนไว้ข้างต้นในทางใดทางหนึ่งsinni800(นอกเหนือจากที่คุณได้รับไวยากรณ์สำหรับการเปลี่ยนไดรฟ์ปัจจุบันผิดนั่นคือ แต่ฉันจะมองข้ามสิ่งนั้น) ฉันไม่ได้รวมการอภิปรายว่าเกิดอะไรขึ้นเมื่อมีคนระบุชื่อพา ธ ในการโต้แย้งเพราะ (ก) นั่นไม่ใช่สิ่งที่คำถามนั้นเกี่ยวกับและ (ข) เป็นเรื่องที่อ่านเพิ่มเติม
JdeBP

6
ไม่เราไม่ได้ มันจะผิดถ้าพูดถึงพาร์ติชั่นแทนที่จะขับที่นี่, user unknown. สำหรับ starters พาร์ติชันจะไม่เหมือนกับไดรฟ์ข้อมูลและตัวอักษรไดรฟ์แมปไปยังไดรฟ์ข้อมูลไม่ใช่พาร์ติชัน และเมื่อมีใครพูดถึงสิ่งที่เป็นนามธรรมในระดับนี้อักษรชื่อไดรฟ์และไดรฟ์ปัจจุบันเป็นคำศัพท์ตามที่ใช้ที่นี่ในการอ่านเพิ่มเติมที่ระบุและแม้แต่ในcd /?ข้อความช่วยเหลือ
JdeBP

2
ฉันใช้คำสั่งนี้เป็นเวลาอย่างน้อย 20 ปีและไม่เคยรู้สิ่งนี้
Chris Ballance

54

กลัวว่านี่ไม่ถูกต้อง เป็นจริงตั้งแต่สมัยของ DOS แต่บรรทัดคำสั่งใน Windows NT และใหม่กว่าไม่ใช่ DOS ในบรรทัดคำสั่งที่ทุกคนใช้วันนี้คุณมีสวิตช์ / D สวิตช์ / d จะเปลี่ยนไดเรกทอรีปัจจุบันของไดรฟ์ที่ระบุและเปลี่ยนเป็นไดเรกทอรีนั้น ต้องระบุสวิตช์ / d ก่อนเส้นทาง ตัวอย่างเช่น:

C:\> cd /d D:\foo\bar\
D:\foo\bar\>

windows พร้อมรับคำสั่งซีดี


4
+1 เพราะฉันเรียนรู้สิ่งใหม่ แต่ฉันไม่คิดว่าสิ่งที่ฉันเขียนไม่ถูกต้อง
coneslayer

3
คำตอบของคุณก็ถูกต้องเช่นกัน Multiverse IT แต่ผู้วางแผนไม่ผิด ขอบคุณสำหรับความพยายามของคุณ. ฉันเรียนรู้สองเทคนิคที่ยอดเยี่ยมสำหรับคำถามนี้
nicorellius

2
จากมุมมองของฉัน "สิ่งที่คุณต้องการง่าย ๆ ... D:" ไม่ถูกต้อง ใช่มันใช้งานได้และเป็นวิธีที่ถูกต้องในการบรรลุเป้าหมาย แต่ไม่ได้พูดอย่างที่เขาต้องการ นอกจากนี้วิธีการแสดงความคิดเห็นคือ worded หมายความว่าคุณไม่สามารถใช้ซีดีในการทำเช่นนี้ได้ - ความหมายนั้นไม่ถูกต้อง
ทวีคูณไอที

1
ปัญหาหลักของเขาคือ "ฉันไปที่ไดรฟ์ D ไม่ได้" ดังนั้นคำตอบอื่น ๆ จึงถูกต้อง โซลูชันของคุณใช้เวลาน้อยลงเพียงหนึ่งขั้นตอน (ซึ่งก็ดี) มันไม่ได้ทำให้อีกคนหนึ่งไม่ถูกต้อง
Gnoupi

1
อืม "สิ่งที่เขาควรต้องการ" ฟังดูน่าจะดีกว่า ;-)
nicorellius

20

CDย่อมาจากไดเรกทอรี C hange Dและไม่ใช่ Change Drive ดังนั้นมันจะไม่เปลี่ยนเป็น D: เช่นนั้น เพื่อให้บรรลุสิ่งนี้คุณต้องพิมพ์อักษรชื่อไดรฟ์

เช่น

d:


16
cd / DD: เปลี่ยนไดรฟ์และไดเรคทอรี ...
Michael S.

แต่ d: เป็นพาร์ติชันไม่ใช่ไดรฟ์
ผู้ใช้ที่ไม่รู้จัก

1
@userunknown ในยุค Dos 1.0 เมื่อเชลล์ถูกออกแบบมีฟลอปปีดิสก์เท่านั้นซึ่ง AFAIK ไม่สามารถแบ่งพาร์ติชันได้ การสนับสนุนฮาร์ดไดรฟ์เริ่มต้นสำหรับพาร์ติชันหลัก (แรก) บนไดรฟ์เท่านั้น ไม่มีการเพิ่มการสนับสนุนพาร์ติชันแบบขยายจนกระทั่งในภายหลัง
Dan Neely

ฉันไม่เห็นแท็ก MS-DOS 1.0 หรือ 1.0 ที่กล่าวถึง บางทีคุณไม่สามารถแบ่งพาร์ติชันไดรฟ์ด้วยโปรแกรม MS-DOS ได้ แต่คุณสามารถติดตั้ง MS-DOS บนไดรฟ์ที่แบ่งพาร์ติชันได้ ฉันเดาว่า MS-DOS ไม่สนับสนุนและมีแท็กอยู่เพราะผู้ใช้หลายคนเชื่อว่า cmd.exe และ MS-DOS มีความหมายเหมือนกันซึ่งเป็นข้อผิดพลาดอีกประการหนึ่งในการแก้ไข Apropos: MS-DOS 1.0 ไม่เคยถูกเผยแพร่
ผู้ใช้ที่ไม่รู้จัก

1
@userunknown การออกแบบตัดสินใจย้อนกลับไปเป็นรุ่นเริ่มต้นของ DOS พฤติกรรมการเปลี่ยนแปลงจะทำให้โปรแกรมเก่าเสียหาย (ดูความคิดเห็นของ Daniel Beck ด้านล่าง) PS; ตามที่ Wikipedia MS DOS 1.x ถูกเผยแพร่
Dan Neely

9

ไดเร็กทอรีการทำงานใน cmd.exe นั้นได้รับการดูแลเป็นvolume-by-volumeประจำ ไดเร็กตอรี่การทำงานของC:ไดรฟ์นั้นแตกต่างจากไดเร็กตอรี่การทำงานของ D:ไดรฟ์.

เมื่อคุณส่งเฉพาะอักษรระบุไดรฟ์ไปที่cdมันจะพิมพ์ไดเรกทอรีทำงานสำหรับไดรฟ์ที่ระบุ

ในกรณีของคุณไดเร็กตอรี่การทำงานของD:ไดรฟ์คือไดรฟ์โวลุ่มเอง, D:\.

วิธีเปลี่ยนโวลุ่มจากC:เป็นD:เพียงป้อนตัวอักษรไดรฟ์:

C:\>D:
D:\>

2
cd / DD: เปลี่ยนไดรฟ์และไดเรคทอรี ...
Michael S.

1
พาร์ติชันถูกแมปกับอักษรชื่อไดรฟ์และแทบจะเหมือนกับไดรฟ์ คุณยังสามารถแมปไดเรคทอรีหรือแชร์ไปยังไดรฟ์ได้
Marty Fried


5

หากคุณต้องการเปลี่ยนไดรฟ์ในพรอมต์คำสั่ง DOS คุณก็ต้องเขียน:

[Drive Letter]:

ตัวอย่างเช่นหากคุณต้องการย้ายไปที่ไดรฟ์ D: \ คุณเพียงแค่พิมพ์คำสั่งต่อไปนี้ในพรอมต์คำสั่ง:

D:

คุณเปลี่ยนพาร์ทิชันด้วย[Drive Letter]:เชื่อฉันหรือทดสอบมัน!
ผู้ใช้ที่ไม่รู้จัก

โอ้ว้าวที่ทำให้สิ่งต่าง ๆ เป็นเรื่องง่ายขึ้นมาก ฉันมักจะลืม/dสิ่งนี้ทำให้การเปลี่ยนเร็วขึ้นมาก
Mateen Ulhaq

2

pushdD:\Tests\Logsทำงานได้แม้เมื่อคุณต้องไปขับรถเช่นไดเรกทอรีย่อย

เพียงใช้มันเพื่อ:

pushd D:\Tests\Logs

หากคุณต้องการกลับไปที่ไดเรกทอรีก่อนหน้าให้ใช้popd:

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>

0

ในขณะที่คุณกำลังค้นหาตัวเลือกในแถบเครื่องมือและค้นหา cmd หรือโดยการเลือก windows แอพทั้งหมดเลือก command command แล้วมันจะไปที่ command prompt อื่น ให้ลองกดปุ่ม windows + R แล้วค้นหา cmd ที่ไปยังไดรฟ์ C:> คุณสามารถนำทางไปยัง D:> หรือที่ใดก็ได้ที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.