Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung Batch & Shell

Mitglied: 90776

90776 (Level 2)

04.07.2010, aktualisiert 15.08.2010, 5783 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.


Mit freundlichen Grüßen 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?

Mit freundlichen Grüßen 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.

Mit freundlichen Grüßen 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.

Mit freundlichen Grüßen 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...