Ausgabe der Anzahl Dateien und Ordner als Variable
Hallo alle miteinander,
ich hoffe ihr genießt den Schnee und könnt mir bei meinem eigentlich banalen Problem weiterhelfen.
Also folgende Sache:
Ausgangspunkt
Bisher existiert für den Backup unseres Servers ein selbstgeschriebenes batch-script, das auch wunderbar funktioniert..
Ziel
In dem logfile, das beim script geschrieben wird, soll auch die Anzahl der Dateien und Verzeichnisse als echo gesetzt werden.
Bisheriger Lösungsansatz
Das Fundament meiner Überlegung bildet ganz simpel
bzw. für Dateien und für Verzeichnisse (der aber nicht wirklich zu funktionieren scheint)
und mit der Hilfe von google stieß ich auf ein code-Fragment, dass mir dabei helfen soll, nur die Anzahl als Variable zu erhalten und setzen zu können aber schauen wir uns mal den gesamten Salat an:
Das script funtkioniert auch soweit, jedoch bekomme ich bei Dateien und Verzeichnisse nicht die realen Ergebnisse geliefert.
(real: 9561 Dateien; 4505 Ordner - Ausgabe im script: 13773 Dateien; 22534 Ordner)
Den FOR Befehl kann ich mit meinem begrenzten batch-Verständnis nicht so ganz nachvollziehen, ich stieß beim googlen darauf ;)
Ich hoffe ihr könnt mir ein wenig auf die Sprünge helfen
Grüße André
ich hoffe ihr genießt den Schnee und könnt mir bei meinem eigentlich banalen Problem weiterhelfen.
Also folgende Sache:
Ausgangspunkt
Bisher existiert für den Backup unseres Servers ein selbstgeschriebenes batch-script, das auch wunderbar funktioniert..
Ziel
In dem logfile, das beim script geschrieben wird, soll auch die Anzahl der Dateien und Verzeichnisse als echo gesetzt werden.
Bisheriger Lösungsansatz
Das Fundament meiner Überlegung bildet ganz simpel
dir %path% /S
dir %path /S /A-d
dir %path% /S /Ad
und mit der Hilfe von google stieß ich auf ein code-Fragment, dass mir dabei helfen soll, nur die Anzahl als Variable zu erhalten und setzen zu können aber schauen wir uns mal den gesamten Salat an:
@echo off
::Code für Variablen
set /A filecnt=0
set /A dircnt=0
set Quelle="D:\Mosaik"
for /F %%i in ('dir %Quelle% /S /A-d') do set /A filecnt=filecnt+1
for /F %%i in ('dir %Quelle% /S /Ad') do set /A dircnt=dircnt+1
set Schalter=/D/E/V/C/I/K/H/R/Q/Y
set logfile="D:\Testbackup.log"
::Sicherung
echo %date:~0% - %time:~0,5% Uhr - Beginne Backup Mosaik >>%logfile%
set Ziel="B:\Backup_SERVER2000\Mosaik"
if not exist %Ziel% md %Ziel%
xcopy %Quelle% %Ziel% %Schalter% >>%logfile% 2>&1
echo Soll: %filecnt% Dateien - %dircnt% Ordner >>%logfile%
echo %date:~0% - %time:~0,5% Uhr - Das Backup wurde fertiggestellt. >>%logfile%
exit
Das script funtkioniert auch soweit, jedoch bekomme ich bei Dateien und Verzeichnisse nicht die realen Ergebnisse geliefert.
(real: 9561 Dateien; 4505 Ordner - Ausgabe im script: 13773 Dateien; 22534 Ordner)
Den FOR Befehl kann ich mit meinem begrenzten batch-Verständnis nicht so ganz nachvollziehen, ich stieß beim googlen darauf ;)
Ich hoffe ihr könnt mir ein wenig auf die Sprünge helfen
Grüße André
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 156203
Url: https://administrator.de/contentid/156203
Ausgedruckt am: 23.11.2024 um 13:11 Uhr
5 Kommentare
Neuester Kommentar
Moin Skyemugen,
willkommen im Forum.
Du sollstest noch bei dieinen DIR-Aufrufen den Schalter /b ergänzen ... dann werden nur die Dateien bzw Verzeichnisse (in je einer Zeile) aufgelistet.
Ohne Schalter /b kommt noch einiges an Füllstoff dazu (Summenzeilen u.ä), was deine aufgeblähte Anzahl an gecounteten erklärt.
Zum Thema FOR-Anweisung findest du im Bereich "Batch & Shell" eine 5-Sterne-Anleitung.
Grüße
Biber
willkommen im Forum.
Du sollstest noch bei dieinen DIR-Aufrufen den Schalter /b ergänzen ... dann werden nur die Dateien bzw Verzeichnisse (in je einer Zeile) aufgelistet.
Ohne Schalter /b kommt noch einiges an Füllstoff dazu (Summenzeilen u.ä), was deine aufgeblähte Anzahl an gecounteten erklärt.
Zum Thema FOR-Anweisung findest du im Bereich "Batch & Shell" eine 5-Sterne-Anleitung.
Grüße
Biber