วิธีการใช้พา ธ สัมพัทธ์บน windows CMD


1

OSX ฉันสามารถทำได้:

someCommand -someOtherParameter ../../../../../ThisFileIsNeeded -yetAnotherParameter

เมื่อฉันพยายามทำสิ่งเดียวกันบน Windows จะได้รับ:

"ระบบไม่พบแฟ้มที่ระบุ"

เนื่องจากเส้นทางผลลัพธ์เป็นดังนี้:

c:\myFolder\otherFolder\IamHere\..\..\..\..\ThisFileIsNeeded

ฉันจะเขียนพา ธ สัมพัทธ์สำหรับ windows cmd ได้อย่างไร

คำตอบ:


5

เส้นทางสัมพัทธ์

เส้นทางและสัมพัทธ์ทำงานคล้ายกับสิ่งที่คุณมีใน OS X / macOS

  • Windows ใช้ "\" ไม่ใช่ "/"
  • โดยทั่วไป ".. " นั้นสูงกว่าระดับหนึ่ง

ตัวอย่าง

หากคุณอยู่ใน "c: \ dev \ repos \ repo1" และต้องการทำบางสิ่งกับไฟล์ใน "c: \ dev \ bin \" (ตัวอย่างด้านล่างในรูปแบบ cmd.exe แบบเก่า)

C:\dev\repos\repo1> Start-Process ..\..\bin\my_executable.exe

ด้านบนบรรทัดคำสั่งในคำพูด:

กระบวนการเริ่มต้นจากไดเรกทอรีปัจจุบันขึ้นไปสองระดับแล้วลงในถังขยะ my_executable.exe


ดูเหมือนว่าฉันจะรู้วิธี rel เส้นทางทำงาน ตอบกลับด้วยคำสั่งและข้อมูลที่ถูกต้องหากคุณมีปัญหาเฉพาะ


1
Start-Processไม่ใช่“ สไตล์ cmd” อย่างแน่นอน : P // ด้วยการเติมข้อความอัตโนมัติของแท็บการทำงานกับเส้นทางสัมพัทธ์ง่ายยิ่งขึ้นเพราะคุณสามารถ“ ค้นหา” ระดับไดเรกทอรีปัจจุบันได้
Daniel B

ฉันไม่ได้อยู่ในเครื่องคอมพิวเตอร์ของฉันตอนนี้ แต่เมื่อฉันใช้ (แม้ว่าจะไม่ได้โดยตรงใน cmd.exe แต่ใน terminal Vscode) ทั้งหมด "\" เพิ่งถูกลบออกดังนั้น..\bin\my_executableจะกลายเป็นc:\myPath\..binmyexecutable.exe
distante

@DanielB ฮ่าฮ่าจริง ... :)
ทิมKilåker

@ ทนทานนั่นหมายความว่าคุณกำลังเจอข้อผิดพลาดบางอย่าง มันใช้งานได้จริงตามที่อธิบายไว้ในคำตอบนี้ คุณลองด้วยหน้าต่างคอนโซล "ของจริง" หรือยัง
Daniel B

แปลกพอหลังจากรีบูตมันทำงานได้ทั้งหมด .. แม้จะมี. / ../ (ใน vs code console เป็น "คอนโซลจริง" ฉันไม่ทราบว่าทำไมสิ่งนี้ถึงเกิดขึ้นจริง
distante
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.