Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Ordnergrösse und , oder Anzahl der Dateien per Batch , VB auslesen

Mitglied: 90776

90776 (Level 2)

04.07.2010, aktualisiert 15.08.2010, 5879 Aufrufe, 15 Kommentare

Hallo

Wie der Titiel schon sagt suche ich eine Möglichkeit die Ordnergrösse und , oder Anzahl der Dateien auszulesen.

Hintergrund:
Robocopy mit der anzeige

???MB von ???MB kopiert
oder
??? Dateien von ??? Dateien kopiert

Dank und Gruss
Switcher
Mitglied: kkboy94
04.07.2010 um 13:01 Uhr
Also ein Script um die Ordnergröße auszulesen, hat Biber oder bastla (weiß ich nicht mehr genau) geschrieben:
set "FS=" 
set "FS=%temp%\GetFolderSize.vbs 
 
set "ZO=" 
set "ZO=..."      <-- Hier deinen Ordner angeben, von dem du die Größe haben willst 
 
echo WScript.Echo Int(CreateObject("Scripting.FileSystemObject").GetFolder(WScript.Arguments(0)).Size/1024/1024+.99)>%FS% 
for /f %%g in ('cscript //nologo %FS% "%ZO%"') do set OGr=%%g 
echo %OGr%
Und mit Robocopy bin ich überfragt, damit hab ich mich noch nie beschäftigt. Aber ich kann mir vorstellen, dass man, um die Anzahl der Dateien/Ordner rauszubekommen, den Befehl "Dir" nimmt.


MfG Karsten
Bitte warten ..
Mitglied: Biber
04.07.2010 um 13:25 Uhr
Moin switcher94,

ergänzend zu kkboy94s Hinweisen noch zwei bis drei Anmerkungen

1) es gibt einige CmdLine-Utilities, die nur für diesen Zweck "Dateien und Dateigrößen eines Ordners inklusive Unterordner" geschrieben wurden.
Und die es hübsch kompakt und vor allem schnell anzeigen. "diruse", "diskusage" oder "du" wären ein paar übliche Namen.

2) unter VB/VBSkript ist eine der üblichen ersten Lauflern- und Turnübungen genau dieses rekursive Ordnerdurchwackeln und durchzählen.
Dazu findest du im Netz sicherlich ein paar Tonnen Beispielsourcen.

3) und zu guter Letzt:
???MB von ???MB kopiert
oder
??? Dateien von ??? Dateien kopiert
Who cares? What says it out... bzw. was transportiert das für relevante Informationen?

Oder willst du eine Fortschrittsanzeige zusammenlügen?
Wenn ja:
Für wen? Wer braucht es, wer würde dafür den Aufwand bezahlen?

Grüße
Biber
Bitte warten ..
Mitglied: kkboy94
04.07.2010 um 13:40 Uhr
Ist eine Fortschrittsanzeige wirklich so schwer, bzw. ist der Aufwand so groß.
Ich hab vor kurzem mal sowas erstellt:
01.
cls 
02.
echo Warten 
03.
ping -n 2 localhost >nul 
04.
cls 
05.
echo Warten. 
06.
ping -n 2 localhost >nul 
07.
cls  
08.
echo Warten.. 
09.
ping -n 2 localhost >nul 
10.
cls  
11.
echo Warten... 
12.
ping -n 2 localhost >nul 
13.
cls  
14.
echo Warten....
Dann wird zwar jedesmal wieder der Bildschirm gelöscht, aber es funktioniert.
Bei einer Fortschrittsanzeige für Robocopy müsste doch dann jede einzelne Datei einzeln kopiert werden, oder?

MfG Karsten
Bitte warten ..
Mitglied: 90776
04.07.2010 um 13:43 Uhr
Danke erstmal

Es geht eigentlich nur um ausprobieren, tüfteln, etc.

Und jein Biber es geht zum Teil um eine Fortschrittsanzeige, denn ich habe noch 5 Wochen Schulferien und wollte ein bisschen rumpropbieren

Gruss
Switcher
Bitte warten ..
Mitglied: kkboy94
04.07.2010 um 13:50 Uhr
Ich meine auch, es gab hier im Forum schonmal Ansätze fürs Zählen von Ordnern/Dateien. Such einfach mal ein bisschen.
Und wenn du genau weißt, welche Ordner/Dateien zu kopieren sind, kannst du ja einfach für jede Datei einen eigenen Befehl zusammenschustern, und dann in mein Beispiel anstatt des "echo Warten" einfügen.

MfG Karsten


PS: Du sagst ja "Es geht eigentlich nur um ausprobieren, tüfteln, etc.". Mach das doch einfach mal und poste deine Ergebnisse. Nix für ungut
Bitte warten ..
Mitglied: Biber
04.07.2010 um 14:07 Uhr
Moin Zwitscher,

Zitat von 90776:
Danke erstmal

Es geht eigentlich nur um ausprobieren, tüfteln, etc.

Und jein Biber es geht zum Teil um eine Fortschrittsanzeige, denn ich habe noch 5 Wochen Schulferien und wollte ein bisschen
rumpropbieren
Na ja, da wäre ich bestimmt der Letzte, der versuchen würde, jemand vom Ausprobieren und tüfteln abzuhalten
Wichtig ist nur, dass du eben auch das Vorzeichen kennst - es ist toll und ein echtes Erfolgserlebnis, so etwas hinzubekommen.
Aber den Aufwand wird dir keiner bezahlen.

Zu zweiten - da Xcopy/Robocopy/NTBackup etc monolithische Befehle sind, die dir NICHT erlauben innerhalb des "Starte-Kopiererei" bis "Ende-Kopiererei"-Blocks bei dem Ereignis "Habe eine einzelne Datei kopiert" einzugreifen....
--> dann musst du die ganze rekursive Verzeichnisstruktur-Kopiererei auch selbst programmieren.

Lass dich nicht davon abschrecken... es übt.

P.S. Wenn du damit fertig bist - was machst du mit restlichen 4 Wochen 6 1/2 Tagen Schulferien? *g

Grüße
Biber
Bitte warten ..
Mitglied: 90776
04.07.2010 um 15:40 Uhr
Bin fast fertig

Ich habe nur noch ein problem

Das Ordnergrössenscript, dass KKboy94 gepostet hat funktioniert perfekt,
aber wie müsste es aussehen wenn man die grösse (belegte grösse eines gesammten Laufwerks auslesen möchte,
oder den gesamten inhalt (Ordner und Dateien)

Wenn das Script funktioniert poste ich es

Gruss
Switcher
Bitte warten ..
Mitglied: kkboy94
04.07.2010 um 15:55 Uhr
Hmm, ich glaube nicht, dass man die BELEGTE größe auslesen kann, bzw. ich weiß nicht wie das mit Boardmitteln gehen sollte.

MfG Karsten
Bitte warten ..
Mitglied: rubberman
04.07.2010 um 16:43 Uhr
Hallo switcher94,

DIR /S könnte dir helfen (aber für Laufzeiten von dreiundzwanzigeinhalb Stunden kann ich keine Gewähr übernehmen).

01.
@echo off &setlocal 
02.
for /f "tokens=3" %%i in ('dir /-c /s D:\^|findstr /b /c:" "') do ( 
03.
  call set "belegt=%%frei%%" 
04.
  set "frei=%%i" 
05.
06.
echo Belegt: %belegt% Bytes 
07.
echo Frei: %frei% Bytes 
08.
pause
<EDIT>
findstr könnte es etwas beschleunigen

Falls du ausreichend Rechte hast, kannst du dir auch mal die Ausgabe von
01.
fsutil volume diskfree D:
ansehen.

<EDIT>



Grüße
rubberman
Bitte warten ..
Mitglied: 90776
04.07.2010 um 18:08 Uhr
Danke
Das Erste Beispiel hat funktioniert

aber es ist ein neues Problem aufgetaucht:

Wie finde ich heraus Ob der Angegebene Pfad ein Laufwerk (also D oder ein Ordner (also D:\Test) ist

Grüsse
Switcher
Bitte warten ..
Mitglied: rubberman
04.07.2010 um 18:46 Uhr
Hallo switcher94,

versuchs mal so:
01.
@echo off &setlocal 
02.
set "yourPath=D:\Test" 
03.
for /f "delims=:\/ tokens=1,2" %%a in ("%yourPath%") do ( 
04.
  if "%%b"=="" ( 
05.
    echo %yourPath% is DRIVE 
06.
  ) else ( 
07.
    echo %yourPath% is DIRECTORY 
08.
09.
10.
 
11.
pause
Grüße
rubberman
Bitte warten ..
Mitglied: 90776
04.07.2010 um 22:01 Uhr
Danke an alle

Hier das fertige Script:

01.
::Copyright© 2010 Switcher:: 
02.
 
03.
@echo off 
04.
set Stellen=0 
05.
set R=%temp%\Rechne.vbs 
06.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
07.
for /f %%i in ('cscript //nologo %R% "10*100" 0') do set Gruppierung=%%i 
08.
if %Gruppierung% EQU 1'000 goto Gruppierung 
09.
 
10.
set /p Quelle=Bitte Quelle angeben:  
11.
set /p Ziel=Bitte Ziel angeben:  
12.
if not exist %Quelle% goto Fehler 
13.
if not exist %Ziel% goto Fehler 
14.
 
15.
set Starttime=%time:~0,2%:%time:~3,2%:%time:~6,2% 
16.
for /f "tokens=1-3 delims=:," %%i in ("%time%") do set /a start=%%i*3600+60*(1%%j %% 100)+1%%k-100 1>nul 2>nul 
17.
 
18.
for /f "delims=:\/ tokens=1,2" %%a in ("%Quelle%") do ( 
19.
  if "%%b"=="" ( 
20.
    set Quellpfad=Laufwerk 
21.
  ) else ( 
22.
    set Quellpfad=Ordner 
23.
24.
25.
for /f "delims=:\/ tokens=1,2" %%a in ("%Ziel%") do ( 
26.
  if "%%b"=="" ( 
27.
    set Zielpfad=Laufwerk 
28.
  ) else ( 
29.
    set Zielpfad=Ordner 
30.
31.
32.
 
33.
if (%Quellpfad% EQU Laufwerk if %Zielpfad% EQU Laufwerk) {  
34.
goto loop1 
35.
 } else if (%Quellpfad% EQU Laufwerk if %Zielpfad% EQU Ordner) {  
36.
goto loop2 
37.
 } else if (%Quellpfad% EQU Ordner if %Zielpfad% EQU Laufwerk) {  
38.
goto loop3 
39.
 } else if (%Quellpfad% EQU Ordner if %Zielpfad% EQU Ordner) {  
40.
goto loop4 
41.
 } else { 
42.
  echo goto Fehler 
43.
44.
 
45.
::HIER BEFEHLE EINFÜGEN:: 
46.
 
47.
:loop1 
48.
::Quelle=Laufwerk Ziel=Laufwerk 
49.
echo. 
50.
for /f "tokens=3" %%i in ('dir /-c /s %Quelle%^|findstr /b /c:" "') do ( 
51.
  call set "belegt=%%frei%%" 
52.
  set "frei=%%i" 
53.
54.
set Stellen=0 
55.
set R=%temp%\Rechne.vbs 
56.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
57.
for /f %%i in ('cscript //nologo %R% "%Belegt%/1024/1024" %Stellen%') do set QuellGr=%%i 
58.
 
59.
for /f "tokens=3" %%i in ('dir /-c /s %Ziel%^|findstr /b /c:" "') do ( 
60.
  call set "belegt=%%frei%%" 
61.
  set "frei=%%i" 
62.
63.
set Stellen=0 
64.
set R=%temp%\Rechne.vbs 
65.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
66.
for /f %%i in ('cscript //nologo %R% "%Belegt%/1024/1024" %Stellen%') do set ZielGr=%%i 
67.
 
68.
set AktuelleZeit=%time:~0,2%:%time:~3,2%:%time:~6,2% 
69.
 
70.
for /f "tokens=1-3 delims=:," %%i in ("%time%") do set /a stop=%%i*3600+60*(1%%j %% 100)+1%%k-100 1>nul 2>nul 
71.
Set /a DauerInMin=(stop-start) / 60 
72.
Set /a DauerInStd=(stop-start) / 3600 
73.
Set /a UndRestInSecs= (stop-start) - DauerInMin*60  
74.
Set /a FmtSecs=UndRestInSecs+100 
75.
Set /a FmtMins=DauerInMin+100 
76.
Set /a FmtStds=DauerInStd+100 
77.
set Zeitdifferenz=%FmtStds:~-2%:%FmtMins:~-2%:%FmtSecs:~-2% 
78.
 
79.
FOR /F "delims= " %%i in ('Dir %Quelle% /s /A-D^|find "Datei(en)"') do set QuellDat=%%i 
80.
 
81.
FOR /F "delims= " %%i in ('Dir %Ziel% /s /A-D^|find "Datei(en)"') do set ZielDat=%%i 
82.
 
83.
set Stellen=0 
84.
set R=%temp%\Rechne.vbs 
85.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
86.
for /f %%i in ('cscript //nologo %R% "%ZielGr%/%QuellGr%*100" %Stellen%') do set Prozent=%%i 
87.
 
88.
cls 
89.
 
90.
echo Startzeit: %Starttime% 
91.
echo. 
92.
echo Aktuelle Zeit: %AktuelleZeit% 
93.
echo. 
94.
echo Benoetigte Zeit: %Zeitdifferenz% Stunden 
95.
echo. 
96.
echo. 
97.
echo Quellpfad: %Quelle% 
98.
echo. 
99.
echo Zielpfad: %Ziel% 
100.
echo. 
101.
echo. 
102.
echo Quellgroesse: %QuellGr% MB 
103.
echo. 
104.
echo Zielgroesse: %ZielGr% MB 
105.
echo. 
106.
echo. 
107.
echo Quelldateien: %QuellDat% Dateien 
108.
echo. 
109.
echo Zieldateien: %ZielDat% Dateien 
110.
echo. 
111.
echo. 
112.
echo. 
113.
echo %Prozent% Prozent 
114.
 
115.
sleepX -m 5000 
116.
cls 
117.
goto loop1 
118.
 
119.
:loop2 
120.
::Quelle=Laufwerk Ziel=Ordner 
121.
echo. 
122.
for /f "tokens=3" %%i in ('dir /-c /s %Quelle%^|findstr /b /c:" "') do ( 
123.
  call set "belegt=%%frei%%" 
124.
  set "frei=%%i" 
125.
126.
set Stellen=0 
127.
set R=%temp%\Rechne.vbs 
128.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
129.
for /f %%i in ('cscript //nologo %R% "%Belegt%/1024/1024" %Stellen%') do set QuellGr=%%i 
130.
 
131.
set "FS=" 
132.
set "FS=%temp%\GetFolderSize.vbs 
133.
echo WScript.Echo Int(CreateObject("Scripting.FileSystemObject").GetFolder(WScript.Arguments(0)).Size/1024/1024+.99)>%FS% 
134.
for /f %%g in ('cscript //nologo %FS% "%Ziel%"') do set ZielGr=%%g 
135.
 
136.
set AktuelleZeit=%time:~0,2%:%time:~3,2%:%time:~6,2% 
137.
 
138.
for /f "tokens=1-3 delims=:," %%i in ("%time%") do set /a stop=%%i*3600+60*(1%%j %% 100)+1%%k-100 1>nul 2>nul 
139.
Set /a DauerInMin=(stop-start) / 60 
140.
Set /a DauerInStd=(stop-start) / 3600 
141.
Set /a UndRestInSecs= (stop-start) - DauerInMin*60  
142.
Set /a FmtSecs=UndRestInSecs+100 
143.
Set /a FmtMins=DauerInMin+100 
144.
Set /a FmtStds=DauerInStd+100 
145.
set Zeitdifferenz=%FmtStds:~-2%:%FmtMins:~-2%:%FmtSecs:~-2% 
146.
 
147.
FOR /F "delims= " %%i in ('Dir %Quelle% /s /A-D^|find "Datei(en)"') do set QuellDat=%%i 
148.
 
149.
FOR /F "delims= " %%i in ('Dir %Ziel% /s /A-D^|find "Datei(en)"') do set ZielDat=%%i 
150.
 
151.
set Stellen=0 
152.
set R=%temp%\Rechne.vbs 
153.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
154.
for /f %%i in ('cscript //nologo %R% "%ZielGr%/%QuellGr%*100" %Stellen%') do set Prozent=%%i 
155.
 
156.
cls 
157.
 
158.
echo Startzeit: %Starttime% 
159.
echo. 
160.
echo Aktuelle Zeit: %AktuelleZeit% 
161.
echo. 
162.
echo Benoetigte Zeit: %Zeitdifferenz% Stunden 
163.
echo. 
164.
echo. 
165.
echo Quellpfad: %Quelle% 
166.
echo. 
167.
echo Zielpfad: %Ziel% 
168.
echo. 
169.
echo. 
170.
echo Quellgroesse: %QuellGr% MB 
171.
echo. 
172.
echo Zielgroesse: %ZielGr% MB 
173.
echo. 
174.
echo. 
175.
echo Quelldateien: %QuellDat% Dateien 
176.
echo. 
177.
echo Zieldateien: %ZielDat% Dateien 
178.
echo. 
179.
echo. 
180.
echo. 
181.
echo %Prozent% Prozent 
182.
 
183.
sleepX -m 5000 
184.
cls 
185.
goto loop2 
186.
 
187.
:loop3 
188.
::Quelle=Ordner Ziel=Laufwerk 
189.
echo. 
190.
set "FS=" 
191.
set "FS=%temp%\GetFolderSize.vbs 
192.
echo WScript.Echo Int(CreateObject("Scripting.FileSystemObject").GetFolder(WScript.Arguments(0)).Size/1024/1024+.99)>%FS% 
193.
for /f %%g in ('cscript //nologo %FS% "%Quelle%"') do set QuellGr=%%g 
194.
 
195.
for /f "tokens=3" %%i in ('dir /-c /s %Ziel%^|findstr /b /c:" "') do ( 
196.
  call set "belegt=%%frei%%" 
197.
  set "frei=%%i" 
198.
199.
set Stellen=0 
200.
set R=%temp%\Rechne.vbs 
201.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
202.
for /f %%i in ('cscript //nologo %R% "%Belegt%/1024/1024" %Stellen%') do set ZielGr=%%i 
203.
 
204.
set AktuelleZeit=%time:~0,2%:%time:~3,2%:%time:~6,2% 
205.
 
206.
for /f "tokens=1-3 delims=:," %%i in ("%time%") do set /a stop=%%i*3600+60*(1%%j %% 100)+1%%k-100 1>nul 2>nul 
207.
Set /a DauerInMin=(stop-start) / 60 
208.
Set /a DauerInStd=(stop-start) / 3600 
209.
Set /a UndRestInSecs= (stop-start) - DauerInMin*60  
210.
Set /a FmtSecs=UndRestInSecs+100 
211.
Set /a FmtMins=DauerInMin+100 
212.
Set /a FmtStds=DauerInStd+100 
213.
set Zeitdifferenz=%FmtStds:~-2%:%FmtMins:~-2%:%FmtSecs:~-2% 
214.
 
215.
FOR /F "delims= " %%i in ('Dir %Quelle% /s /A-D^|find "Datei(en)"') do set QuellDat=%%i 
216.
 
217.
FOR /F "delims= " %%i in ('Dir %Ziel% /s /A-D^|find "Datei(en)"') do set ZielDat=%%i 
218.
 
219.
set Stellen=0 
220.
set R=%temp%\Rechne.vbs 
221.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
222.
for /f %%i in ('cscript //nologo %R% "%ZielGr%/%QuellGr%*100" %Stellen%') do set Prozent=%%i 
223.
 
224.
cls 
225.
 
226.
echo Startzeit: %Starttime% 
227.
echo. 
228.
echo Aktuelle Zeit: %AktuelleZeit% 
229.
echo. 
230.
echo Benoetigte Zeit: %Zeitdifferenz% Stunden 
231.
echo. 
232.
echo. 
233.
echo Quellpfad: %Quelle% 
234.
echo. 
235.
echo Zielpfad: %Ziel% 
236.
echo. 
237.
echo. 
238.
echo Quellgroesse: %QuellGr% MB 
239.
echo. 
240.
echo Zielgroesse: %ZielGr% MB 
241.
echo. 
242.
echo. 
243.
echo Quelldateien: %QuellDat% Dateien 
244.
echo. 
245.
echo Zieldateien: %ZielDat% Dateien 
246.
echo. 
247.
echo. 
248.
echo. 
249.
echo %Prozent% Prozent 
250.
 
251.
sleepX -m 5000 
252.
cls 
253.
goto loop3 
254.
 
255.
:loop4 
256.
::Quelle=Ordner Ziel=Ordner 
257.
echo. 
258.
set "FS=" 
259.
set "FS=%temp%\GetFolderSize.vbs 
260.
echo WScript.Echo Int(CreateObject("Scripting.FileSystemObject").GetFolder(WScript.Arguments(0)).Size/1024/1024+.99)>%FS% 
261.
for /f %%g in ('cscript //nologo %FS% "%Quelle%"') do set QuellGr=%%g 
262.
 
263.
set "FS=" 
264.
set "FS=%temp%\GetFolderSize.vbs 
265.
echo WScript.Echo Int(CreateObject("Scripting.FileSystemObject").GetFolder(WScript.Arguments(0)).Size/1024/1024+.99)>%FS% 
266.
for /f %%g in ('cscript //nologo %FS% "%Ziel%"') do set ZielGr=%%g 
267.
 
268.
set AktuelleZeit=%time:~0,2%:%time:~3,2%:%time:~6,2% 
269.
 
270.
for /f "tokens=1-3 delims=:," %%i in ("%time%") do set /a stop=%%i*3600+60*(1%%j %% 100)+1%%k-100 1>nul 2>nul 
271.
Set /a DauerInMin=(stop-start) / 60 
272.
Set /a DauerInStd=(stop-start) / 3600 
273.
Set /a UndRestInSecs= (stop-start) - DauerInMin*60  
274.
Set /a FmtSecs=UndRestInSecs+100 
275.
Set /a FmtMins=DauerInMin+100 
276.
Set /a FmtStds=DauerInStd+100 
277.
set Zeitdifferenz=%FmtStds:~-2%:%FmtMins:~-2%:%FmtSecs:~-2% 
278.
 
279.
FOR /F "delims= " %%i in ('Dir %Quelle% /s /A-D^|find "Datei(en)"') do set QuellDat=%%i 
280.
 
281.
FOR /F "delims= " %%i in ('Dir %Ziel% /s /A-D^|find "Datei(en)"') do set ZielDat=%%i 
282.
 
283.
set Stellen=0 
284.
set R=%temp%\Rechne.vbs 
285.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
286.
for /f %%i in ('cscript //nologo %R% "%ZielGr%/%QuellGr%*100" %Stellen%') do set Prozent=%%i 
287.
 
288.
cls 
289.
 
290.
echo Startzeit: %Starttime% 
291.
echo. 
292.
echo Aktuelle Zeit: %AktuelleZeit% 
293.
echo. 
294.
echo Benoetigte Zeit: %Zeitdifferenz% Stunden 
295.
echo. 
296.
echo. 
297.
echo Quellpfad: %Quelle% 
298.
echo. 
299.
echo Zielpfad: %Ziel% 
300.
echo. 
301.
echo. 
302.
echo Quellgroesse: %QuellGr% MB 
303.
echo. 
304.
echo Zielgroesse: %ZielGr% MB 
305.
echo. 
306.
echo. 
307.
echo Quelldateien: %QuellDat% Dateien 
308.
echo. 
309.
echo Zieldateien: %ZielDat% Dateien 
310.
echo. 
311.
echo. 
312.
echo. 
313.
echo %Prozent% Prozent 
314.
 
315.
sleepX -m 5000 
316.
cls 
317.
goto loop4 
318.
 
319.
:Gruppierung 
320.
cls 
321.
echo. 
322.
echo Fehler 
323.
echo Bitte Tausendergruppierung deaktivieren 
324.
echo. 
325.
pause 
326.
exit 
327.
 
328.
:Fehler 
329.
cls 
330.
echo. 
331.
echo Fehler 
332.
echo. 
333.
pause 
334.
exit 
335.
 
336.
:Fertig 
337.
attrib /S /D %Ziel% -r -s -h >nul 
338.
exit
Benötigt wird noch SleepX.exe
Download unter : http://www.westmesatech.com/sst.html

Und schauen das die Tausenderpunkte deaktiviert sind

Änderungsvorschläge einfach posen.

Danke nochmals an alle die Geholfen haben.

EDIT 1: Startzeit, Zeit, Benötigte Zeit hinzugefügt

EDIT 2: nochmals überarbeitet, Anzahl dateien hinzugefügt

EDIT 3: Test ob Tausendergruppierung deaktiviert ist

Grüsse
Switcher
Bitte warten ..
Mitglied: 90776
05.07.2010 um 10:35 Uhr
Ich habe noch ein Problem gefunden

01.
for /f "tokens=3" %%i in ('dir /-c /s %Quelle%^|findstr /b /c:" "') do ( 
02.
  call set "belegt=%%frei%%" 
03.
  set "frei=%%i" 
04.
05.
set Stellen=0 
06.
set R=%temp%\Rechne.vbs 
07.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
08.
for /f %%i in ('cscript //nologo %R% "%Belegt%/1024/1024" %Stellen%') do set MB=%%i
Hier kommt soetwas raus:
61'250 MB

Wie bekomme ich diesen Strich weg?
61'250 MB

01.
set QuellGr=%MB:~0,2%%MB:~3,2%%MB:~5,2%
Habs so probiert, aber es sollte Variabel sein

Grüsse
Switcher
Bitte warten ..
Mitglied: Biber
05.07.2010 um 11:32 Uhr
Moin switcher94,

für die Tausender-Punkte/Striche sind zuständig
  • der fünfte Parameter der FormatNumber-Function (optional und deshalb bei dir nicht gesetzt)
  • und ggf. die "Regionalen Einstellungen", die für einen deutsch-windowsigen Rechner aber anders aussehen sollten.

Suchmaschine mal nach "Vbskript Formatnumber" und schau es dir bei einer der ersten 5 Fundstellen an.

Grüße
Biber
Bitte warten ..
Mitglied: 90776
05.07.2010 um 16:08 Uhr
Danke hat sich erledigt

Gruss
Switcher
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
BATCH ini Datei Datei auslesen
gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell
Batch File zum Auslesen einer Datei
gelöst Frage von Marcel1989Batch & Shell9 Kommentare

Hallo, Ich scheibe momentan ein Anmeldescript als batch mit dem Aufruf von VBS dateien. Hierfür haben wir bereits gruppen ...

Batch & Shell

Anzahl Dateien eines oder mehreren Dateityps per Batch oder Powershell

gelöst Frage von pixel0815Batch & Shell14 Kommentare

Hallo liebe Gemeinde, gibt es eine einfache Möglichkeit ein Laufwerk nach verschiedenen Dateitypen zu durchsuchen? Ich möchte nur die ...

Windows Server

Log-Datei via Batch auslesen

gelöst Frage von Ironhead-HaynsWindows Server3 Kommentare

Hallo zusammen, ich drehe mich mal wieder im Kreis und komme durch den Wald vor lauter Bäumen nicht durch! ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 3 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing21 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

TK-Netze & Geräte
Telefonie zweier Fritzboxen mit je eigenem DSL Anschluss verbinden
Frage von hannsgmaulwurfTK-Netze & Geräte10 Kommentare

Hallo zusammen, ich habe hier einen Haushalt mit zwei Anschlüssen. Einmal ISDN, einmal DSL. An jedem Anschluss hängt eine ...