Batch zum Kopieren von Dateien aus Unterverzeichnissen?


26.03.2020, 20:19

Sorry, aber irgendwie uebernimmt die Webseite meine Formatierung nicht. Aber die Beschreibung erklaert das Problem ja.

2 Antworten

Es gibt verschieden Command-Line Tools die das können, hier mal ein Beispiel:

xcopy c:\ordner1\dateixy.z c:\ordner2\

/D : nur neuere Dateien

/Y Dateien ohne Nachfragen überschreiben

Diese Zeile würde eine Datei von Ordner in Ordner 2 kopieren.

Wie gesagt gibt auch noch andere Tools, wie robocopy, google hilft ;)!

Mit freundlichen Grüßen

dernort 
Fragesteller
 26.03.2020, 20:39

Vielen Dank! Fuer einen Profi muesste das eine triviale Aufgabe sein. Leider bin ich blutiger Anfaenger. Ob Du wohl so nett waerest, mir den Code fuer meine Aufgabe zu posten? Ich glaube, so lerne ich das am schnellsten. Nochmal herzlichen Dank!

0

xcopy oder auch robocopy sind die falschen Befehle um einzelne Dateien aus einer Ordnerstruktur an einen anderen Ort zu verfrachten. (im Prinzip gibt es keinen fertigen Befehl der dies kann)

...Also bastelb wir uns einen...

@echo off
  rem Umlaute anzeigen
chcp 65001 >nul

  rem hier Ziehlordner angeben  (in dieser Demo: %~dp0=Pfad dieser Batch)
set "Zielordner=%~dp0"
  rem evtl Backslash am Ende entfernen
if "%Zielordner:~-1%"=="\" set "Zielordner=%Zielordner:~,-1%"
  rem einfach mal anzeigen wohin die Reise geht... 
echo Zielordner: %Zielordner%"

  rem was die gesuchten Dateien gemeinsam haben:  (stern bedeute "alles Mögliche" , ein Joker)
set "Dateimaske=AUS_*.txt"

  rem wenn ZielOrdner nicht existiert, diesen neu erstellen (Fehlermeldung wenn existiert unterdrücken)
md "%ZielOrdner%" 2>nul

  rem Batchordner und Unterverzeichnisse nach Dateimaske durchsuchen  (schalter /b nackte Pfadeliste anzeigen  , /s Unterordner recoursiv einbziehen, /a:-o ordnerPfade im Ergebnis ausblenden)
  rem for /f gibt lediglich  das Ergebnis der Suche mit "DIR /B..." an auszuführenden Kommandos weiter....
for /f "tokens=*" %%a in ('dir /b /s /a:-o "%Dateimaske%"') do (
    echo Datei ###%%~a### gefunden
      rem kopiere in  %%a Dateien übergenene Dateien nach Zielordner\gleicherDateiname 
    copy "%%~a" "%Zielordner%\*.*"  
)

  nocmal dateien Ordner anzeigen
dir 

pause
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
dernort 
Fragesteller
 27.03.2020, 16:24

Toll! Vielen Dank, da muss ich mich erstmal durcharbeiten.

0