Ruby zeigt den Fortschritt beim Kopieren von Dateien an

8

Ich würde gerne den Fortschritt einer Dateikopieroperation anzeigen können, wenn ich Dateien mit Ruby kopiere (derzeit mit FileUtils.cp). Ich habe versucht, die verbose -Option auf true zu setzen, aber das scheint einfach so zu sein Zeige mir den Kopierbefehl ausgegeben.

Ich führe dieses Skript gerade von der Kommandozeile aus, also möchte ich im Idealfall etwas wie SCP beim Kopieren von Dateien präsentieren, aber ich bin nicht so nervös über die Präsentation, so lange ich kann Sehen Sie den Fortschritt.

    
DEfusion 19.03.2009, 11:48
quelle

4 Antworten

14

Da ich nicht genug Rep haben, um Antworten zu bearbeiten, hier ist meine Version basierend auf pisswillis Antwort, fand ich eine Fortschrittsbalken , die ich auch in meinem Beispiel verwende. Ich habe das getestet und es hat soweit funktioniert, aber es könnte mit etwas Aufräumen zu tun haben:

%Vor%     
DEfusion 19.03.2009, 14:09
quelle
7

Rollen Sie Ihre eigenen mit IO.syswrite, IO.sysread.

Entscheide zuerst die Länge des Fortschrittsbalkens (in Zeichen) .. dann sollte dieser Pseudocode es tun (NICHT GEPRÜFT):

%Vor%

wobei update_progress_bar () Ihre Methode ist, den Fortschrittsbalken um ein Zeichen zu erhöhen. Das Obige wird nicht getestet und wird Rubin-Puristen wahrscheinlich krank machen. Insbesondere könnte eine EOFException die Schleife durcheinander bringen. Außerdem müssen Sie sicherstellen, dass alle Bytes geschrieben werden, wenn no_of_bytes keine Ganzzahl ist.

    
pisswillis 19.03.2009 12:34
quelle
5

Oder du könntest es einfach hacken, um scp zu benutzen, wenn das der Fortschrittsbalken ist, den du magst:

%Vor%

Sie müssen sicherstellen, dass die Quell- und Zielnamen für einen Systemaufruf ordnungsgemäß maskiert sind. Das localhost: -Tag bewirkt, dass scp die Dateien so wie zwischen den Computern kopiert, so dass es einen Fortschrittsbalken anzeigt.

    
rampion 19.03.2009 13:49
quelle
0

Unter Windows vergessen Sie nicht, das 'b' für Binärdateien hinzuzufügen, also sollten 'w' und 'r' 'wb' und 'rb' für Binärdateien sein.

%Vor%     
Halogen II 25.07.2014 12:12
quelle

Tags und Links