• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Ordner mit Unterverzeichnissen kopieren -> alle Dateien in einem Ordner einfügen. Wie?

Jetcrazy

Ontario
Registriert
05.10.12
Beiträge
349
Hallo!

Kann mir jemand mitteilen, wie ich Dateien, die sich in mehreren Unterordnern befinden kopiere (das weiß ich...) und in einem einzelnen Ordner ohne weiterverzweigende Ordnerstruktur ablege. Anders: die ganzen Dateien von ihrer Ordnerstruktur befreien.

Danke,
Gruss
Jens
 
Ich arbeite mit PathFinder und da gibt es im Kontextmenü den Befehl "verschieben nach …" Der Finder bietet das leider nicht.
Ich würde es so machen: Einen neuen Ordner anlegen (wenn er gleich hießen soll wie ein alter, dann benenne ihn einstweilen irgendwie), dann einen Subordner nach dem anderen öffnen, den gesamten Inhalt auswählen (cmd a) und dann mit cmd + alt + V (⌘ + ⌥ + V) in den neuen Ordner einsetzen.
Mit diesem Befehl (statt nur ⌘ + v) löscht du zugleich die Dateien aus dem alten Subordner, denn du dann löschen kannst.
Du kannst aber auch alles auswählen, ausschneiden, einsetzen.
Wenn du das öfter machen musst, dann befasse dich mit dem Automator, damit kannst du sicher ein Script erstellen, aber viel schneler wird das auch nicht gehen.
Vermutlich gibt es auch einen Terminalbefehl, aber e geht über die GUI wunderbar und die Fehlerquelle geht gegen Null.
Mehr fällt mir nicht ein.
Salome
 
Danke für die Antwort.

Das Problem: es sind etliche Subordner, die ich nicht einzeln annavigieren will. Das würde ewig dauern.

Ich arbeite mit PathFinder und da gibt es im Kontextmenü den Befehl "verschieben nach …" Der Finder bietet das leider nicht.

Den Path Finder habe ich gerade installiert. Leider kann ich damit auch nicht das Problem lösen. Er müsste als Kontextmenü nach dem Kopieren einen Menüpunkt haben, der lautet {EINFÜGEN OHNE VERZEICHNISSE}. Vllt. finde ich den auch nicht, dann weisst Du sicher wie das geht...
Unter Windows könnte ich das Problem einfach im DOS-Fenster mit XCopy lösen. Das muss doch auch irgendwie unter Mac OS gehen.

Gruss
Jens
 
Klar geht das im Terminal - ich kann dir allerdings mangels guter UNIX-Kenntnisse nicht sagen, wie.
Wenn es um eine einmalige Sache geht und die Unterordner alle in einem Ordner stecken, würde ich die Listenansicht nehmen, alle Ordner und Unterordner aufklappen (ALT-click oder cmd-click öffnet alle Unterordner, wenn ich mich recht erinnere), dann alles markieren und die Ordner wieder entmarkieren. Und verschieben.

Edit: Eventuell hilft das: http://www.debianroot.de/server/lin...inen-zielordner-kopierenverschieben-1189.html
 
Wenn Dateinamen mehrfach vorkommen, wird es natürlich kompliziert.
 
auch wenn es geht: es ist nicht Apple-Like, solch simple Operationen in einer Befehlszeile ausführen zu müssen. Ich gebe nicht auf, und hoffe, dass es noch die Einfachlösung gibt.
 
Das kann man natürlich diskutieren. Ich freu mich aber, daß es funktioniert hat.
Apple geht - mittlerweile jedenfalls - wohl eher davon aus, daß man alles von Beginn an korrekt einsortiert und den Finder kaum braucht. Auf dem iPad findet man wohl, hab ich mir sagen lassen, gar keinen Zugriff mehr auf das Dateisystem, und meiner Schätzung nach geht der Trend bei Appel dahin, die Macs zu stationären oder halbstationären iOS-Ersatzsystemen umzubauen.
Bringt wohl neue Kunden, und die alten bleiben ganz überwiegend mangels Alternativen.
Man könnte sicher was programmieren, das mit Mausklick zu erledigen, aber es gibt wohl zu wenig Bedarf. Der Finder wird oft als anachronistisch eingeschränkt kritisiert, kann ich nicht beurteilen. Mir ist lieber, gelegentlich mal was umständlich machen zu müssen, als im Alltag aufgeblähte Programme mitzuschleppen und mich bei jeder trivialen Aktion durch zig Menüs durchklicken zu müssen - was natürlich nicht zwangsweise sein müsste, wenn Apple den Finder verbessern würde, aber die Gefahr droht natürlich.
 
ich dachte, die Frage war, wie man das über die Shell macht. GUI-seitig gibt es "Big Folder Machine"
 
Hallo,

das geht schon auch mit dem Finder "allein".
Ordner "XYZ" auswählen, cmd-f (Durchsuchen -> "XYZ)
Art ist Dokument

Gruß
 
Die Debian/Terminal-Lösung kann man ganz simpel in was Apple-Likes umbauen. In Automator ein neues Programm anlegen. Als Aktion unter „Dienstprogramme“ „Shell-Skript ausführen“ auswählen. „/path/source/“ und „/path/target/“ durch „$1“ ersetzten („$1“ referenziert das erste übergebene Argument, was dein Ordner sein wird). Das Skript sieht dann also so aus: „find $1 -type f -exec cp {} $1 \;“, oder wahlweise die Variante mit „mv“ statt „cp“. Bei „Eingabe übergeben“ „Als Argumente“ auswählen. Nun das ganze als Programm, z.B. „FlattenFolder.app“ speichern.

Jetzt kannst du einfach einen Ordner auf das Programm ziehen und alle Dateien werden aus den Unterordnern in den übergebenen Ordner kopiert bzw. verschoben.

VORSICHT: Funktioniert nicht bei doppelt vorhandenen Dateinamen. Doppelte Dateien verschwinden ohne weitere Warnung!

Eine zweite Apple-Like Lösung wäre das folgende AppleSkript, ist nicht von mir, sondern habe ich irgendwann mal irgendwo ergoogelt und für funktionierend befunden:

tell application "Finder"
activate
set theTopFolder to (selection as alias)
--display dialog (theTopFolder as text)
repeat with EachSubDir in (get every folder of folder theTopFolder)
try
--display dialog (EachSubDir as text)
repeat with Eachfile in (get every file of folder (EachSubDir as alias))
try
move Eachfile to theTopFolder
end try
end repeat
delete folder (EachSubDir as alias)
end try
end repeat
end tell

Es gilt die gleiche Warnung wie vorher. Es wird die „mv“ Variante verwendet und die leeren Ordner werden auch gleich gelöscht.
 
Hallo,

dein Shell Skript kopiert die Dateien in den Ausgangsordner?
Dann doch lieber in einen Zielordner... wobei ja nicht ganz klar ist, ob der TE das nicht sogar so will.

Das AppleScript ist überhaupt nicht geeignet. Es kopiert nicht, sondern verschiebt die Dateien auch nur in den Hauptordner... ok. Aber alle Dateien, welche unterhalb der zweiten Ordner Ebene liegen, werden mitsamt dem Ordner in den Papierkorb gelegt! *grunz
Ein try block ohne ein on error ist hier auch nicht wirklich sinnvoll. Und die doppelmoppel repeat Abfrage lässt das Skript bei einer größeren Anzahl von Dateien wahrscheinlich ewig rödeln...
(Man würde hier eher mit entire contents und class oder folder true arbeiten)


Den Automator-Workflow könnte man prinzipiell auch ohne Skript-Kenntnisse erstellen.
Z.B. mit der Vorlage -> Dienst
Ausgewählte Finder Objekte abfragen
Ordnerinhalt abfragen (incl Unterordner)
Finder Objekte filtern Art ist nicht Ordner
Finder Objekte kopieren (eventuell mit Option "Aktion beim Ausführen anzeigen")

- - - - -

Übrigens:
Das von mir gepostete Beispiel mit der Finder-Suche war wirklich nur ein Beispiel. Dokumente sind z.B. nicht textClippings, weblogs oder irgendwelche exotischen Office Dateien (wie doc oder xls *grins)

Gruß
 
Zuletzt bearbeitet: