Wie kann ich mehrere Dateien zum Kopieren auf einem Mac in die Warteschlange stellen?

15

Wenn ich auf einem Mac mehrere Dateien kopiere, versucht das System, alle Dateien gleichzeitig zu kopieren. Das Problem ist zweifach.

Wenn Sie mehrere Dateien auswählen und kopieren, werden diese zunächst in einem Prozess mit einem "Alles-oder-Nichts" -Ansatz ausgeführt, der sich von ACID in Datenbanken unterscheidet. Oft ist dies nicht wünschenswert.

Wenn Sie weitere Kopiervorgänge hinzufügen, versucht das System außerdem, alles gleichzeitig zu kopieren.

Zum Beispiel entscheide ich mich, eine große Datei zu kopieren A, und später entscheide ich mich, auch eine große Datei zu kopieren B. Dies führt zu zwei parallelen Kopiervorgängen, unabhängig davon, ob eine der "großen Dateien" auch eine Auswahl vieler Dateien ist.

Ich mag das aus mehreren Gründen nicht:

  • Wenn mehrere Kopiervorgänge gleichzeitig ausgeführt werden, scheint dies andere Prozesse zu beeinträchtigen.
  • Auch wenn mehrere Dateien gleichzeitig kopiert werden, scheint der Kopiervorgang selbst viel langsamer zu verlaufen.
  • Und wenn der Vorgang abgebrochen wird, erreicht keine der Dateien ihr Ziel.
  • Wenn Sie eine Datei zur Warteschlange hinzufügen, wird sie sofort kopiert und der Vorgang wird noch weiter unterbrochen.
  • Dies ist ein echtes Problem beim Kopieren auf andere Computer oder Laufwerke im (lokalen) Netz.

Ergebnis: Das AEintreffen der Datei , die ich zuerst übertragen und verwenden wollte, dauert viel länger als erforderlich. Beim Kopieren von einer zentralen Festplatte im LAN kann ich die erste Datei erst verwenden, wenn auch alle anderen Dateien eingetroffen sind.

Also ... Wie kann ich mehrere Dateien zum Kopieren auf einem Mac in die Warteschlange stellen? Zur Verdeutlichung: Unabhängig davon, ob viele Dateien ausgewählt oder einzeln hinzugefügt wurden, möchte ich, dass sie alle in eine Warteschlange gestellt werden, die jeweils nur eine Datei kopiert, bis die Warteschlange fertig ist.

Antworten in Bash und insbesondere in Perl sind ebenfalls willkommen!

Kebman
quelle
Ich verstehe die Frage wirklich nicht. Es scheint, als würden Sie mehrere unabhängige Kopiervorgänge gleichzeitig starten, und Sie tun es auch nicht ...? Haben Sie versucht, alle relevanten Dateien im Rahmen desselben Kopiervorgangs zu kopieren, indem Sie z. B. alle Dateien ausgewählt und dann zum Ziel gezogen haben? oder auswählen Cmd-C, dann Cmd-Vam Zielort?
Daniel Beck
@ Daniel Ich habe versucht, die Frage zu klären - dies ist ein Problem, auf das ich auch gestoßen bin: Es geht darum, unabhängige Kopiervorgänge zu starten. Die Lösung wäre eine Warteschlange, in der Sie einfach die zu kopierenden Dateien ablegen und die Jobs sequentiell verarbeiten können.
Slhck
@slhck Wie und zuletzt, wenn der Prozess abgebrochen wird, trifft keine der Dateien auf unabhängige Operationen zu, die ihr Ziel erreichen ? Was kann ich tun, wenn ich die erste Datei nicht verwende, bis auch alle anderen Dateien angekommen sind ? bedeuten?
Daniel Beck
1
Es ist auch ein Problem, wenn viele Dateien ausgewählt und kopiert werden. Alle Dateien bilden einen Prozess, bei dem die darin enthaltenen Dateien nicht in eine Warteschlange gestellt werden können. Das ist meiner Meinung nach auch schlimm. Trotzdem möchte ich einer Warteschlange auch Dateien hinzufügen.
Kebman
Sie werden tatsächlich nacheinander kopiert. Sie meinen, die Reihenfolge, in der sie kopiert werden, ist im Wesentlichen zufällig?
Daniel Beck

Antworten:

8

UltraCopier

UltraCopier ist ein kostenloses und plattformübergreifendes Kopierprogramm , das sich derzeit in der Entwicklung befindet. Sobald Sie es installiert haben, befindet es sich in Ihrer Menüleiste.

Es verwaltet eine Kopierliste, mit der Sie Kopier- oder Verschiebungsaufträge in die Warteschlange stellen können , die dann nacheinander verarbeitet werden. Sie können auch die Priorität des Kopiervorgangs sowie die Blockgröße der Übertragung festlegen.

Mit der neuen Version können Sie eine Gruppe mit einer ähnlichen Quelle und / oder einem ähnlichen Ziel erstellen, oder einfach immer oder nie.

Bildbeschreibung hier eingeben

slhck
quelle
Nett! Verwenden! Funktioniert perfekt! Ich habe XCode, Cocoa und Objective C nachgeschlagen und überlegt, ob ich meine eigene App schreiben soll.
Kebman
4

Hier ist eine Bash-Lösung:

cp file1 dest1; cp file2 dest2

Wiederholen Sie diesen Vorgang für alle Dateien, die Sie kopieren möchten. Fügen Sie einfach weiterhin Semikolons und cpBefehle hinzu.

Das könntest du auch tun

cp file1 dest1 && cp file2 dest2

In diesem Beispiel wird die Datei nur kopiert, wenn die zuvor kopierte erfolgreich war.

Für einen Ordner können Sie folgendermaßen vorgehen:

for x in folder/*; do echo "Copying $x"; cp "$x" destdir; done
Wuffers
quelle
Wenn Sie jedoch versuchen, einen gesamten Ordner auf diese Weise zu kopieren, wird dieser Vorgang erneut als ein Vorgang behandelt, was nicht wünschenswert ist. Ich möchte auch jede Datei in den Ordner in der Warteschlange.
Kebman
1
@Kebman: Siehe meine letzte Bearbeitung.
Wuffers
2
Achten Sie beim forAnsatz auf Dateien mit Leerzeichen und glühenden Zeichen . Ich würde es wahrscheinlich mit einer find -print0Pipeline machen xargs -0, um sicher zu gehen.
Slhck
2

Path Finder 6 sieht einfacher zu navigieren aus als Ultracopier und schafft definitiv einen klaren Hinweis, und es hat viel mehr Optionen. Es gibt auch eine 30-Tage-Testversion.

Aber ich benutze das professionell, also sage ich, das ist es absolut wert.

Dateivorgänge in Path Finder 6 (YouTube-Video)

TJ Hellmuth
quelle
1
Ich habe nach einer kostenlosen Lösung gesucht, aber Path Finder ist bekanntermaßen eine gute App. Tatsächlich finde ich es schade, dass Finder so simpel ist, dass Sie eine Drittanbieter-App benötigen, wenn Sie etwas tun möchten, das halbwegs fortgeschritten ist.
Kebman
2

Der Finder Alternative Path Finder enthält seit Version 6 eine Kopierwarteschlangenfunktion.

Dateiübertragungswarteschlange

Greifen Sie über ein Symbolleistenelement oder ein separates einheitliches Fenster auf aktuelle Dateivorgänge zu.

Daniel Beck
quelle
2

Zusätzlich zu einigen anderen Kopiermanagern in diesem Thread können Sie sich ForkLift ansehen: http://www.binarynights.com/forklift/

Vorteile:

  • Ein- / Ausschalten der Warteschlange
  • FTP + SFTP + Amazon S3 + WEBDav,
  • Eine Reihe praktischer Synchronisierungstools für Entwickler.

Nachteile:

  • Bezahlt (obwohl es zum Zeitpunkt des Schreibens eine Sonderaktion im App Store gibt, aber ...),
  • App Store-Version fehlt Funktionen (oh Sandbox).
LordParsley
quelle
0

Planen Sie, was Sie bewegen möchten

  • Erstellen Sie Aliase der Ordner in der Quelle
  • Verschieben Sie die Aliase in den Zielordner

Erstellen Sie ein Skript, das die Aliase findet, und ersetzen Sie sie durch den Ursprung (Verschieben).

Starten Sie das Skript und schlafen Sie ein.

Ramkam
quelle
Hallo und willkommen bei superuser.com. Ihr Beitrag liest sich eher wie eine Diskussion als wie eine Antwort. Bitte beachten Sie, dass dies kein Diskussionsforum ist, und versuchen Sie, die gestellte Frage zu beantworten. Vielen Dank! Vielleicht könnten Sie Ihre Antwort bearbeiten, um sie themenbezogener zu gestalten.
Sleske
Ich möchte nicht planen. Ich möchte nur Dateien in die Warteschlange stellen und sie eins nach dem anderen verschieben lassen, ohne darüber nachzudenken. Das Erstellen von Aliasen ist überflüssig, wenn Sie bereits ein Skript verwenden. Außerdem hätte ich es schon gemacht, wenn ich gewusst hätte, wie man ein Skript erstellt. Haben Sie ein Beispiel für ein Skript, das das Einreihen von Dateien unterstützt ?
Kebman
Fügen Sie die Quell- und Zielpfade in eine Textdatei "queue.txt" ein, die durch ein Trennzeichen (z. B. eine Pipe) getrennt ist. Beispiel einer Zeile / foo / bar / source | / target. Dann Katze queue.txt | während ich l lese; do src = "$ (echo" $ l "| awk -F" | "{print $ 1} ')"; dst = "$ (echo" $ l "| awk -F" | "{print $ 2} ')"; echo "Kopieren von $ src nach $ dst"; cp -r "$ src" "$ dst"; erledigt. Das ist ein sehr grobes Beispiel. Ich würde Ihnen nicht raten, einfach so mit Skripten zu spielen, es gibt jede Menge Fallstricke. Wie auch immer, wenn Sie es jemals versuchen, lesen Sie zunächst
Folgendes
0

Ich hatte das gleiche Problem und fand im App Store eine App namens "CopyQueue".

https://itunes.apple.com/gb/app/copyqueue/id711074010?mt=12

Es scheint großartig zu funktionieren. Ziehen Sie einfach die Ordner oder Dateien, die Sie in die Warteschlange kopieren möchten, und der Kopiervorgang beginnt in der Warteschlange. Sie können die Warteschlangenpriorität anhalten, neu anordnen, und eine meiner bevorzugten Funktionen ist das Klicken auf "Überprüfen", um zu bestätigen, dass der Kopiervorgang erfolgreich war.

Tris
quelle
0

Es gibt auch einen Mini-Kopierer - die Benutzeroberfläche sieht UltraCopier ziemlich ähnlich.

Steve Bennett
quelle