มันทำให้ฉันรำคาญที่ใช้ Unix ในวิทยาลัยและตอนนี้ทำงานด้าน Windows ประวัติศาสตร์ที่อยู่เบื้องหลังการตัดสินใจครั้งนี้คืออะไร? มีใครรู้บ้างไหมว่าทำไมจึงเป็นเช่นนี้
มันทำให้ฉันรำคาญที่ใช้ Unix ในวิทยาลัยและตอนนี้ทำงานด้าน Windows ประวัติศาสตร์ที่อยู่เบื้องหลังการตัดสินใจครั้งนี้คืออะไร? มีใครรู้บ้างไหมว่าทำไมจึงเป็นเช่นนี้
คำตอบ:
Unix ถูกนำมาใช้/
เป็นตัวคั่นไดเรกทอรีประมาณปี 1970 ฉันไม่รู้ว่าทำไมตัวละครตัวนี้ถึงถูกเลือก ระบบบรรพบุรุษใช้ Multics >
แต่ผู้ออกแบบของ Unix ได้ใช้>
ร่วมกับ<
การเปลี่ยนเส้นทางในเชลล์แล้ว (ดูทำไมไดเรกทอรีรากแสดงด้วย/
เครื่องหมาย? )
MS-DOS 2.0 เปิดตัว\
เป็นตัวคั่นไดเรกทอรีในช่วงต้นทศวรรษ 1980 เหตุผลที่/
ไม่ได้ใช้คือ MS-DOS 1.0 (ซึ่งไม่สนับสนุนไดเรกทอรีเลย) ได้ใช้/
เพื่อแนะนำตัวเลือกบรรทัดคำสั่ง มันต้องใช้เวลาการใช้งานของ/
จากCP / Mซึ่งเกิดได้จากVMS คุณสามารถอ่านคำอธิบายที่ละเอียดกว่านี้ได้ว่าเหตุใดตัวเลือกดังกล่าวจึงถูกสร้างขึ้นบนบล็อกของ Larry Osterman (MS-DOS แม้ในเวลาสั้น ๆ มีตัวเลือกในการเปลี่ยนอักขระตัวเลือกเป็น-
และตัวคั่นไดเรกทอรีเป็น/
แต่ไม่ติด)
/
มันเป็นที่รู้จักโดยโปรแกรมเมอร์ระดับ API ส่วนใหญ่ (ในทุกรุ่นของ DOS และ Windows) ดังนั้นคุณสามารถทำได้บ่อยครั้ง แต่ไม่สามารถหลีกเลี่ยงได้โดยใช้/
เป็นตัวคั่นไดเรกทอรีใน Windows ข้อยกเว้นที่น่าสังเกตคือคุณไม่สามารถใช้/
เป็นตัวคั่นหลัง\\?
คำนำหน้าซึ่ง (แม้ใน Windows 7) เป็นวิธีเดียวที่จะระบุเส้นทางโดยใช้ Unicode หรือมีอักขระมากกว่า 260 ตัว
องค์ประกอบอินเทอร์เฟซผู้ใช้บางอย่างรองรับ/
เป็นตัวคั่นไดเรกทอรีภายใต้ Windows แต่ไม่ทั้งหมด บางโปรแกรมเพิ่งส่งชื่อไฟล์ผ่านไปยัง API พื้นฐานดังนั้นจึงรองรับ/
และ\
ไม่สนใจ ในล่ามคำสั่ง (ในcommand.com
หรือcmd
) คุณสามารถใช้/
ในหลายกรณี แต่ไม่เสมอไป ส่วนนี้ขึ้นอยู่กับรุ่นของ Windows (ตัวอย่างเช่นcd /windows
ทำงานใน XP และ 7 แต่ไม่ได้อยู่ใน Windows 9x) ช่องรายการพา ธ Explorer ยอมรับ/
(อย่างน้อยจาก XP ขึ้นไปอาจเป็นเพราะยอมรับ URL) ในทางกลับกันไดอะล็อกเปิดไฟล์มาตรฐานปฏิเสธสแลช
/
ได้รับการยอมรับว่าเป็นตัวคั่นไดเรกทอรีโดยบรรทัดคำสั่ง MS-DOS หรือ Windows
/
รับการยอมรับอย่างแม่นยำในบรรทัดคำสั่งหรือไม่? ตัวอย่างเช่นdir /p
ทำอะไร และdir c:/p
? และc:/windows/notepad.exe
? และstart /windows/notepad.exe
? เป็นต้น (ฉันไม่มีเครื่อง Windows ที่นี่เพื่อทดสอบ)
/
อาจถูกใช้เป็นตัวคั่นไดเรกทอรีใน UNIX เพราะมันเป็นกุญแจง่าย (unshifted) เพื่อโจมตีบน Teletype อักขระพิเศษที่ไม่: - ; , . /
เปลี่ยนแปลงคือ
/
(และ-
สวิตช์) เช่น Xenix และได้รับแรงบันดาลใจจาก Xenix แต่ IBM เปิดตัวก่อนที่ Microsoft จะส่งไปยัง OEM และ IBM ใช้` (and
/ `สำหรับสวิตช์) และเปลี่ยนพรอมต์จากA:
เป็นA>
ดังนั้นพวกเขาจึงเปลี่ยนเอกสารเริ่มต้นและรถส่ง (ยังถือว่า/
/ -
) รวมทั้งบันทึกว่ามันเปลี่ยนไปและทำไม
พื้นฐานของ Windows APIสามารถยอมรับทั้งเครื่องหมายหรือเฉือนที่จะแยกจากกันไดเรกทอรีและไฟล์ส่วนประกอบของเส้นทาง แต่การประชุมไมโครซอฟท์คือการใช้เครื่องหมายและ API ที่ส่งกลับเส้นทางวางทับขวาใน
MS-DOS 2.0คัดลอกระบบไฟล์แบบลำดับชั้นจาก Unix และใช้เครื่องหมายสแลช (แต่อาจเป็นการยืนยันของIBM ) เพิ่มเครื่องหมายแบ็กสแลชเพื่อให้พิมพ์เส้นทางลงในเชลล์คำสั่งในขณะที่รักษาความเข้ากันได้กับMS-DOS 1.0และCP / Mโดยที่เครื่องหมายทับเป็นตัวบ่งชี้ตัวเลือกบรรทัดคำสั่ง
เปรียบเทียบ
dir/w
ซึ่งจะแสดงไดเรกทอรีปัจจุบันในรูปแบบกว้าง ๆ
dir\w
ซึ่งไหลแฟ้มในผู้อำนวยการw
dir
อ้างอิง: