Jak korzystać ze ścieżek względnych w systemie Windows CMD?

1

OSX Mogę to zrobić:

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

Kiedy próbuję zrobić to samo w systemie Windows, daje:

"System nie może odnaleźć określonego pliku"

ponieważ ścieżka wyniku jest podobna do:

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

Jak napisać ścieżki względne dla Windows cmd?

distante
źródło

Odpowiedzi:

5

Ścieżki względne

Ścieżki i względne działają bardzo podobnie do tego, co masz w OS X / macOS.

  • System Windows używa „\”, a nie „/”.
  • Zasadniczo „..” jest o jeden poziom wyższy.

Przykład

Jeśli znajdujesz się w „c: \ dev \ repos \ repo1” i chcesz zrobić coś z plikiem w „c: \ dev \ bin \” (przykład poniżej w starym stylu cmd.exe).

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

Powyżej wiersza poleceń słownie:

Rozpocznij proces, z bieżącego katalogu przejdź dwa poziomy w górę, a następnie w dół do bin, my_executable.exe.


Wydaje mi się, że wiesz jak rel. ścieżki działają. Odpowiedz, podając dokładne polecenia i informacje, jeśli masz konkretny problem.

Tim Kilåker
źródło
1
Start-Processnie jest dokładnie „stylem cmd”. : P // Przy autouzupełnianiu tabulatorów praca ze ścieżkami względnymi jest jeszcze łatwiejsza, ponieważ można „spojrzeć” na bieżący poziom katalogu.
Daniel B
Nie jestem teraz w moim komputerze, ale kiedy go używam (chociaż nie bezpośrednio w cmd.exe, ale w terminalu Vscode) wszystkie „\” po prostu zostają usunięte, więc ..\bin\my_executablestaje sięc:\myPath\..binmyexecutable.exe
distante
@DanielB Haha, prawda ... :)
Tim Kilåker
@distante Oznacza to, że napotykasz błąd. To zdecydowanie działa w sposób opisany w tej odpowiedzi. Czy próbowałeś już z „prawdziwym” oknem konsoli?
Daniel B
Dziwne, po ponownym uruchomieniu wszystko działa .. nawet z ./../ (w konsoli vs kontra „prawdziwa konsola”. Naprawdę nie wiem, dlaczego tak się dzieje.
distante