windows - Hvordan får man navnet på den mappe, hvor jpg er i det?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har brug for en kode for at finde jpg-filer og få en liste over katalogets navn, hvor der findes filer.
Jeg har skrevet en kode, der finder alle mapper, min kode er


For /r \%\%i in (.) do ( echo \%\%~nf >>list1.txt
)
For /f "tokens=*" \%\%i in (list1.txt) do ( echo \%\%~nxi >>list2.txt
)


Og det gemmer en liste over alle undermapper, men jeg vil gerne få navnet på mappen, hvor filen findes.

Bedste reference


Det ser ud til, at du ikke forstår korrekt, hvad du læser, når du gør forskning. Som et eksempel.


For /r \%\%i in (.) do ( echo \%\%~nf >>list1.txt


fortæller mig, at du har set dette \%\%~nf et sted, men prøvede du at læse om hvad det gør? Du giver en variabel på \%\%i, men du forsøger at bruge \%\%f og du vil have stien (\%\%~p), men brug navnet (\%\%~n). Hvis du rent faktisk kørte hjælpen fra cmd for /? ville du have haft nogle gode tip.


Dette:


For /r \%\%i in (*.jpg) do echo "\%\%~dpi" >>list1.txt


Ville give kørsel og sti til fil, hvor dette:


For /r \%\%i in (*.jpg) do echo "\%\%~pi" >>list1.txt


Ville bare give stien, mens dette:


For /r \%\%i in (*.jpg) do echo "\%\%~nxi" >>list1.txt


Vil give navnet og udvidelsen af ​​filen og endelig dette:


For /r \%\%i in (*.jgp) do echo "\%\%~ni" >>list1.txt


Vil kun give navnet på filen uden forlængelse.


Så jeg udfordrer dig til at køre hjælpeskifter til dine kommandoer via cmd og jeg lover dig, du vil blive forbavset over at se, hvad du kan lære af dette.