Fortschrittsanzeige beim Kopieren
Hallo,
ich möchte während eines Kopiervorgangs (viele, z. T. sehr große Dateien) eine Fortschrittsanzeige einblenden (z. B. durch Aneinanderreihung von Punkten), damit die Ausführenden nicht befürchten müssen, dass sich der Rechner aufgehängt hat...
Nun gibt es zwar beim Copy/Xcopy Befehl die Möglichkeit Dateinamen ein- bzw. auszublenden, etc. allerdings dachte ich eher an die Methode von Frank-Peter Schultze mit seiner Batch propy.cmd (http://www.fpschultze.de/PDdownloads+viewcat.list+P.htm).
Diese Methode hat jedoch einen kleinen Nachteil, ich kann sie bei meinem speziellen Problem nicht verwenden! Die Gründe folgen jetzt...
Ich möchte vor einer unattended Windows XP Installation (per PXE) einige Dateien vom Netz auf den Zielrechner kopieren. Da dies ein DOS Bootvorgang ist (Windows 98 DOS) habe ich keinerlei XP-Shell-Umgebung, sondern nur eine W98-DOS-Umgebung!
Das Kopieren funktioniert (per copy oder xcopy), allerdings möchte ich weder alle Dateien auflisten lassen, die kopiert werden, noch eine einfache stehende Meldung am Bildschirm belassen (da es rel. lange dauert dachte ich selbst schon, dass der Kopierprozess hängt...).
Die bereits oben erwähnte Batch ist schön, funktioniert nur leider nicht unter altem W98-DOS (s. u.) ...
Manche der eingesetzten Befehle gibt es nicht unter W98-DOS oder die Syntax ist neu/anders/erweitert. . .
Ich wäre auch mit einem alternativem Kopier-Tool zufrieden. (ach ja, ping kann man auch durch die gute alte sleep.exe ersetzen...)
mfg
Axel
ich möchte während eines Kopiervorgangs (viele, z. T. sehr große Dateien) eine Fortschrittsanzeige einblenden (z. B. durch Aneinanderreihung von Punkten), damit die Ausführenden nicht befürchten müssen, dass sich der Rechner aufgehängt hat...
Nun gibt es zwar beim Copy/Xcopy Befehl die Möglichkeit Dateinamen ein- bzw. auszublenden, etc. allerdings dachte ich eher an die Methode von Frank-Peter Schultze mit seiner Batch propy.cmd (http://www.fpschultze.de/PDdownloads+viewcat.list+P.htm).
Diese Methode hat jedoch einen kleinen Nachteil, ich kann sie bei meinem speziellen Problem nicht verwenden! Die Gründe folgen jetzt...
Ich möchte vor einer unattended Windows XP Installation (per PXE) einige Dateien vom Netz auf den Zielrechner kopieren. Da dies ein DOS Bootvorgang ist (Windows 98 DOS) habe ich keinerlei XP-Shell-Umgebung, sondern nur eine W98-DOS-Umgebung!
Das Kopieren funktioniert (per copy oder xcopy), allerdings möchte ich weder alle Dateien auflisten lassen, die kopiert werden, noch eine einfache stehende Meldung am Bildschirm belassen (da es rel. lange dauert dachte ich selbst schon, dass der Kopierprozess hängt...).
Die bereits oben erwähnte Batch ist schön, funktioniert nur leider nicht unter altem W98-DOS (s. u.) ...
Manche der eingesetzten Befehle gibt es nicht unter W98-DOS oder die Syntax ist neu/anders/erweitert. . .
:: __________________________________________________________________
::
:: Batch File: propy.cmd
:: Author: Frank-Peter Schultze
::
:: Updates: http://www.fpschultze.de/
:: Enhancement Req.
:: And Bug Reports: support@fpschultze.de
::
:: Built/Tested On: Windows XP
:: Requirements:
::
:: Purpose: Copy a file showing a progress bar
::
:: Syntax: propy's syntax corresponds to Windows XP's COPY command.
::
:: State Changes:
::
:: Assumptions And
:: Limitations:
::
:: Last Update: 2005-09-19
:: __________________________________________________________________
::
@Echo Off
If %2!==! (
Echo Copy a file showing a progress bar.
Echo.
Echo %~n0 source target [/copyoptions]
Echo.
Echo source The file^(s^) to be copied.
Echo target The copy destination.
Echo copyoptions Correspond to Windows XP's COPY command options.
Goto :EOF)
SetLocal
::Set flag file
Set propy.FlagFile=%TEMP%\%RANDOM%.tmp
::Set default progress bar character
Set propy.ProgressBarChar=.
::Set default progress bar intervall (seconds)
Set propy.ProgressBarWait=1
If Exist %propy.FlagFile% Del %propy.Flagfile%
Start /Min Copy %* ^& Echo. ^> %propy.Flagfile% ^& Exit
(Set /P i=Copying %1) < NUL
Set /A propy.ProgressBarWait += 1
:Loop
If Not Exist %propy.Flagfile% (
(Set /P i=%propy.ProgressBarChar%) < NUL
Ping -n %propy.ProgressBarWait% 127.0.0.1 > NUL
Goto Loop)
Del %propy.FlagFile%
EndLocal
Ich wäre auch mit einem alternativem Kopier-Tool zufrieden. (ach ja, ping kann man auch durch die gute alte sleep.exe ersetzen...)
mfg
Axel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 58362
Url: https://administrator.de/contentid/58362
Ausgedruckt am: 25.11.2024 um 05:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
warum benutzt Du nicht mal die Suche hier?
Fortschrittanzeige bei batch bzw batchkopiervorgang
Verabschiede Dich von dem Vorhaben.
warum benutzt Du nicht mal die Suche hier?
Fortschrittanzeige bei batch bzw batchkopiervorgang
Verabschiede Dich von dem Vorhaben.
Hast du es schon mal mit robocopy versucht? Da gibts für jede Datei wunderbare Fortschritt-%-Anzeigen.
Robocopy (nebst einer Flut passender Parameter...) textet dir während des Kopiervorganges die CMD-Box zwar ganz schön voll, aber das lässt sich ja in eine andere Box auslagern:
start "Dateien kopieren..." /WAIT robocopy.cmd <source> <destination> /R:0 /ETA /LOG:file
robocopy hat auch sonst viele Gimmicks: es produziert ordentliche Returncodes und Logs, es kopiert defaultmässig bereits vorhandene Dateien nicht nochmal, und mit /ETA bekomst du sogar die voraussichtliche Restdauer...
Robocopy (nebst einer Flut passender Parameter...) textet dir während des Kopiervorganges die CMD-Box zwar ganz schön voll, aber das lässt sich ja in eine andere Box auslagern:
start "Dateien kopieren..." /WAIT robocopy.cmd <source> <destination> /R:0 /ETA /LOG:file
robocopy hat auch sonst viele Gimmicks: es produziert ordentliche Returncodes und Logs, es kopiert defaultmässig bereits vorhandene Dateien nicht nochmal, und mit /ETA bekomst du sogar die voraussichtliche Restdauer...