Ich versuche, eine Reihe von Dateien rekursiv nur mit dem übergeordneten auf einer bestimmten Ebene umbenennen. Ich habe Dateien in:Umbenennen von Dateien basierend auf Eltern-dirrectory
\test\d1\d2\d3\d1.png
\test\d4\d5\d6\d4.png
\test\d7\d8\d9\d7.png
Exploring mit rekursiv für/R keine klare Lösung einen höheren Level-Ordner zu umbenennen zu bekommen:
\test\d1\d2\d3\000.png
\test\d4\d5\d6\000.png
\test\d7\d8\d9\000.png
, die konvertiert werden soll.
Die 000.png ist die einzige Datei, und keine ist in Zwischenverzeichnissen vorhanden.
Ich habe versucht, zu verwenden:
@echo off
pushd "C:\Users\test"
for /d %%P in (*) do for /f "delims=" %%F in ('dir /b /s /a-d "%%P"') do rename "%%F" "%%P_%%~nxF"
popd
von einem anderen Thread, aber Mühe habe zu verstehen, was das Skript tut.
bestimmten Ebene angeben, von oben gezählt oder aus der Datei? Nur Datei '000.png'? Sind diese Dateien auch in Zwischenordnern vorhanden? Was ist dein Code bisher? [SO] ist kein Skriptdienst. – LotPings
Die 000.png ist die einzige Datei, und keine ist in Zwischenverzeichnissen vorhanden. – Joesh
Schreiben Sie keinen Code in Kommentare, bearbeiten Sie Ihre Frage. – LotPings