Hi,
muss aktuell für die Arbeit nach einer Systemumstellung unsere alten Daten in einen neuen Server laden.
Mein Problem ist dass diese Files jeweils in einem Unterordner sind.
Um aber im neuen System zu laufen muss ich sie ALLE in einem Ordner haben.
Jemand ne Idee wie man alle Dateien via Befehl oder Tool aus den Ordnern rausholen kann?
Ansonsten bin ich damit tagelang beschäftigt bei ca 2800 Ordnern
Mehrere Dateien aus Unterordnern holen?!
-
DarkMasterCh1ef -
8. April 2022 um 18:29 -
Unerledigt
-
-
Unter Windows
Datei Explorer
in den Oberordner gehen und nach *.* suchen.
Strg + a -markieren
Strg+c - kopieren
Zielordner öffnen
Strg + v - einfügenPer Eingabeaufforderung
In den Oberordner wechseln.FOR /F %i IN ('dir /ad /b /s D:\') DO copy %i\*.* E:\Backup
Linux:
In den Oberordner wechseln
find . -type f -print0 | xargs -0 -I%%% cp %%% ORDNER_MIT_ALLEN_DATEIEN -
-
unter Linux:
find . -name "*.*" -exec cp -t . {} \;
-
Viele Wege führen nach Rom^^
-
-
find . -name "*.*" -exec cp -t . {} \;
Ich denke du meintest grundsätzlich find . -name "*" ... . *.* passt bei Windows auf alle Dateien, bei Linux nicht. Auch die beiden Punkte als Quelle und Zielpfad passen da nicht ganz, und bei verschachtelten Verzeichnissen werden auch Verzeichnisnamen an cp weitergegeben. Das -type f von @SkyBird1980 passt da schon, vielleicht noch ein Slash am Ende "ORDNER_MIT_ALLEN_DATEIEN/". Der Rest ist mit xargs nicht ganz so trivial, wie man es oft gern hätte, wenn Sonderzeichen (Apostroph, Gänsefüßchen, Blanks vorkommen. Tlws. natürlich abhängig von Dateisystem, was da erlaubt ist.). Ohne xargs ist es einfacher ...
Und jetzt zum eigentlichen Grund meines Beitrags ...
@SkyBird1980 (oder natürlich auch alle anderen), kannst du bitte erläutern, was es mit den ganzen %%% und dem -I auf sich hat. Scheine da auf der Leitung zu sitzen.(Ich persönlich würde es vermeiden solche Befehle aus einem Forum copy+paste zu verwenden, ohne Testlauf/Verifikation/Sicherstellen, dass ich es verstehe. Klar, mit cp weniger gefährlich als mit mv oder gar rm)
-
Ich denke, dass ich weiß, was ich meine und was nicht.
Ich hab's lokal probiert. Fedora und zsh und es funktioniert. Ich setze hier keine Befehle rein, wo ich nicht weiß ob sie zuverlässig funktionieren oder nicht.
Mag sein, dass es verbesserungswürdig ist. Aber leg mir bitte nicht in den Mund, was ich meine und was nicht ;). Denn das weiß ich ganz gut selbst.
-
-
Unter Windows
Datei Explorer
in den Oberordner gehen und nach *.* suchen.
Strg + a -markieren
Strg+c - kopieren
Zielordner öffnen
Strg + v - einfügenPer Eingabeaufforderung
In den Oberordner wechseln.FOR /F %i IN ('dir /ad /b /s D:\') DO copy %i\*.* E:\Backup
Linux:
In den Oberordner wechseln
find . -type f -print0 | xargs -0 -I%%% cp %%% ORDNER_MIT_ALLEN_DATEIENDanke, hat geholfen
Musste das unter Windows machen. Ging sehr einfach
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!