Batch - Fortschrittsanzeige beim kopieren klappt nicht
Hallo da Ihr mir schon vorgestern so schnell geholfen habt, habe ich die Hoffnung, das Ihr jetzt auch wieder eine Lösung für mich habt
Ich möchte per Batch mehrere Dateien (2-4 GB) von Ordner A nach Ordner B Kopieren / Verschieben.
Damit nicht nur ein statischer Text (Kopiere Datei1.rar) auf dem Bildschirm steht, hätte ich eben gerne einen kleinen Fortschrittsbalken.
Externe Programme (Robocopy u.ä.) kommen nicht in frage, weil das Script auf verschiedenen Systemen auch bei Usern laufen soll, und
ich nicht erwarten kann, dass die sich ein zusätzliches Programm installieren.
Da habe ich das Script propy.cmd von Frank-Peter Schultze gefunden. Dies macht eigendlich genau, was ich brauche, nur nicht bei mir
könnt Ihr mir weiterhelfen?
Hier mein Scriptansatz:
Ich danke schonmal für eure Mühe.
LG
CCED
Ich möchte per Batch mehrere Dateien (2-4 GB) von Ordner A nach Ordner B Kopieren / Verschieben.
Damit nicht nur ein statischer Text (Kopiere Datei1.rar) auf dem Bildschirm steht, hätte ich eben gerne einen kleinen Fortschrittsbalken.
Externe Programme (Robocopy u.ä.) kommen nicht in frage, weil das Script auf verschiedenen Systemen auch bei Usern laufen soll, und
ich nicht erwarten kann, dass die sich ein zusätzliches Programm installieren.
Da habe ich das Script propy.cmd von Frank-Peter Schultze gefunden. Dies macht eigendlich genau, was ich brauche, nur nicht bei mir
könnt Ihr mir weiterhelfen?
Hier mein Scriptansatz:
@Echo Off
cls
echo wscript.sleep 1000>%temp%\sleep.vbs
::Set flag file
Set propy.FlagFile=%TEMP%\%RANDOM%.tmp
::Set default progress bar character
Set propy.ProgressBarChar=±
::Set default progress bar intervall (sekunden)
Set propy.ProgressBarWait=1
:: Quellordner
Set Target1=c:\Downloads\
:: zu kopierende Datei
Set g=*.RAR
:: Art des Kopierens / Verschiebens
Set Befehl=Start xcopy /Y
:: Zielordner
Set Upload=H:\!Testfuer107\
If Exist %propy.FlagFile% Del %propy.Flagfile%
%Befehl% "%Target1%%g%" ^& Echo. ^> %propy.Flagfile% ^& Exit
(Set /P i=Kopiere %g%) < NUL
echo.
Set /A propy.ProgressBarWait += 1
:Loop
If Not Exist %propy.Flagfile% (
(Set /P i=%propy.ProgressBarChar%) < NUL
wscript %temp%\sleep.vbs
Goto Loop)
Del %propy.FlagFile%
Del %temp%\sleep.vbs
EndLocal
Ich danke schonmal für eure Mühe.
LG
CCED
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 99786
Url: https://administrator.de/contentid/99786
Ausgedruckt am: 25.11.2024 um 23:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo cced-de
Das war hier schon ein paar mal Gesprächsstoff.
Innerhalb einer Batch ist es mit vernünftigem Aufwand nicht wirklich machbar.
Warum, lies hier bitte:
Fortschrittanzeige bei batch bzw batchkopiervorgang
Was ich mir vorstellen könnte in die Batch ein animiertes "*.gif" einzubauen das sowas ähnliches wie einen Fortschritsbalken nachbildet.
z.Bsp.:
"progbar.gif" --> "c:\WINDOWS\PCHealth\HelpCtr\System\images"
"progress.gif --> "c:\WINDOWS\system32\oobe\images"
Eventuell haben die VBS-Kenner hier einen machbaren Vorschlag . In jedem Falle würde es aber wohl nur über ein extra Fenster zu realisieren sein.
Ich persönlich halte den Aufwand nicht für gerechtfertigt. Ein "Bitte Warten - Prozess ist in Arbeit" o.s.ä. im Batch sollte völlig ausreichen
onegasee59
Das war hier schon ein paar mal Gesprächsstoff.
Innerhalb einer Batch ist es mit vernünftigem Aufwand nicht wirklich machbar.
Warum, lies hier bitte:
Fortschrittanzeige bei batch bzw batchkopiervorgang
Was ich mir vorstellen könnte in die Batch ein animiertes "*.gif" einzubauen das sowas ähnliches wie einen Fortschritsbalken nachbildet.
z.Bsp.:
"progbar.gif" --> "c:\WINDOWS\PCHealth\HelpCtr\System\images"
"progress.gif --> "c:\WINDOWS\system32\oobe\images"
Eventuell haben die VBS-Kenner hier einen machbaren Vorschlag . In jedem Falle würde es aber wohl nur über ein extra Fenster zu realisieren sein.
Ich persönlich halte den Aufwand nicht für gerechtfertigt. Ein "Bitte Warten - Prozess ist in Arbeit" o.s.ä. im Batch sollte völlig ausreichen
onegasee59