snowdream
Goto Top

Ab einer beliebigen Verzeichnisebene Dateien inklusive Dateien in Unterverzeichnisssen kopieren

Hallo,

ich möchte in einer Verzeichnisebene alle *.nfo in .xml kopieren, was auch funktioniert.
Jedoch sollte das auch in allen Unterverzeinisssen geschehen, was leider nicht funktioniert.

ist:
Verzeichnis
*.nfo
*.xml
Unterverzeichnis1
*.nfo
Unterverzeichnis2
*.nfo
Unterverzeichnis3
*.nfo

soll:
Verzeichnis
*.nfo
*.xml
Unterverzeichnis1
*.nfo
*.xml
Unterverzeichnis2
*.nfo
*.xml
Unterverzeichnis3
*.nfo
*.xml

Hier mein Ansatz:

 
set PFAD=%cd%
FOR /R %%a in ('DIR %PFAD% /S') DO copy *.nfo *.xml  

Content-ID: 208622

Url: https://administrator.de/contentid/208622

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

Biber
Biber 25.06.2013 aktualisiert um 17:45:49 Uhr
Goto Top
Moin snowdream,

da reicht eine einmalige Halbzeile vom CMD-Prompt - somit brauchst du weder eine %pfad%-Variable noch einen Batch.
Demo am CMD-Prompt.

FOR /R "Y:\Eigene Dateien\Biber"  %a in (*.nfo) DO @echo copy "%a" "%~dpna.xml"

Ist noch nicht scharf - durch "@echo copy" wird nur angezeigt, was passieren würde, hier ab Startverzeichnis "Y:\Eigene Dateien\Biber" abwärts.

Anmerkung:
- ob die kopierten *.nfo-Dateien mit der Endung *.xml benutzbar sind, das musst du ja wissen.
- wenn denn die *.nfo-Dateien in Wirklichkeit *.xml-Dateien wären, dann brauchst du doch nicht beide - dann ginge es mit einem REN einfacher.

Grüße
Biber
bastla
bastla 25.06.2013 aktualisiert um 17:41:40 Uhr
Goto Top
Hallo snowdream!

Etwa so:
for /r %%i in (*.nfo) do echo copy "%%i" "%%~dpni.xml"
Wenn die Ausgabe passt, das "echo" entfernen ...
Kurz zu Deinem Ansatz:
Abgesehen von der unnötigen Verwendung von "%CD%" (wenn Du keinen Pfad angibst wird ohnehin vom aktuellen Verzeichnis ausgegangen) hast Du eigentlich eine "for /f"-Schleife geschrieben (nur dort lassen sich nämlich die Ausgaben von Befehlen verwenden), wobei dann aber nur ein "dir /s" mit zusätzlichem "/b" sinnvoll wäre ...

Grüße
bastla

[Edit] An einem Montach wäre ich vermutlich noch Erster geworden face-wink [/Edit}
snowdream
snowdream 25.06.2013 um 20:16:19 Uhr
Goto Top
jetzt muss ich mich nur noch entscheiden, ob ich die Variante von Biber nehme (%%a) oder die von bastla (%%i)
face-wink

@Biber
- ja die .nfo sind dann als .xml nutzbar
- die .nfo Dateien werden von Ember Media Manager erzeugt und beinhalten XML-Tags mit Filminformationen für das MediaCenter XBMC
- manche MediaCenter (Player) benötigen diese Informationen aber anhand einer .xml, deshalb das Kopieren und nicht einfach umbenennen

@bastla
- hast natürlich recht mit "%CD%", im nachhinein völlig einleuchtend

Vielleicht kann mir aber noch einer von euch beiden erklären, was genau der Befehl "%%~dpn" macht?
Vielen Dank für eure Hilfe.

Gruß
snowdream
bastla
bastla 25.06.2013 um 20:22:45 Uhr
Goto Top
Hallo snowdream!
was genau der Befehl "%%~dpn" macht
Kurzfassung von
%%~di%%~pi%%~ni
- siehe dazu: for /? (ziemlich gegen Ende der Hilfe) ...

Grüße
bastla
snowdream
snowdream 25.06.2013 um 21:33:17 Uhr
Goto Top
Hallo bastla,

ok, alles verstanden.

%~d - Laufwerk
%~p - Pfad
%~n - Dateiname ohne Erweiterung

Danke
snowdream