windows - Sådan får du den fulde sti til overordnet mappe/øverste mappe i den aktuelle mappe i kommandolinjen

Indlæg af Hanne Mølgaard Plasc

Problem



Som vist nedenfor har jeg en batchfil med navnet 'Current Path.bat' gemt i 'C: \ A \ B \'.


C:ABCurrent Path.bat


Det, jeg vil gøre, er at udlæse den fulde sti i overordnet mappe/øverste mappe i den aktuelle mappe (dvs. hvor batchfilen gemmes/udføres).


Det forventede resultat i denne sag skal være:


C:A


I øjeblikket har jeg regnet ud et arbejde for dette, men det er ikke det perfekte. Jeg undrer mig over, om der er en bedre løsning til dette.


Mit arbejde for øjeblikket:


@echo off 
set current\_path=\%cd\%
echo Current Path: \%current\_path\% 
cd ..
set upper\_path= \%cd\%
echo Upper Path: \%upper\_path\%


Resultatet er som nedenfor:


C:>cd a
C:A>cd b
C:AB>"Current Path.bat"
Current Path: C:AB
Upper Path:  C:A


Resultatet af mit arbejde [8]

Bedste reference


Der er intet galt med din tilgang For at undgå at ændre den aktuelle mappe, du kan gøre, for eksempel,


pushd ..
set upper\_path=\%CD\%
popd


Hvis du vil undgå at ændre mapper selv for et øjeblik, kan du bruge en for:


for \%\%x in ("\%CD\%") do set upper\_path=\%\%~dpx


Hvilke af de to er mere læsbare er dit valg.