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

Ausgabe der Anzahl Dateien und Ordner als Variable

Frage Entwicklung Batch & Shell

Mitglied: Skyemugen

Skyemugen (Level 2) - Jetzt verbinden

02.12.2010 um 13:10 Uhr, 6505 Aufrufe, 5 Kommentare

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
01.
dir %path% /S
bzw.
01.
dir %path /S /A-d
für Dateien und
01.
dir %path% /S /Ad
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:

01.
@echo off 
02.
 
03.
::Code für Variablen 
04.
set /A filecnt=0 
05.
set /A dircnt=0 
06.
set Quelle="D:\Mosaik" 
07.
for /F %%i in ('dir %Quelle% /S /A-d') do set /A filecnt=filecnt+1 
08.
for /F %%i in ('dir %Quelle% /S /Ad') do set /A dircnt=dircnt+1 
09.
 
10.
set Schalter=/D/E/V/C/I/K/H/R/Q/Y 
11.
set logfile="D:\Testbackup.log" 
12.
 
13.
::Sicherung 
14.
echo %date:~0% - %time:~0,5% Uhr - Beginne Backup Mosaik >>%logfile% 
15.
set Ziel="B:\Backup_SERVER2000\Mosaik" 
16.
if not exist %Ziel% md %Ziel% 
17.
xcopy %Quelle% %Ziel% %Schalter% >>%logfile% 2>&1 
18.
echo Soll: %filecnt% Dateien - %dircnt% Ordner >>%logfile% 
19.
echo %date:~0% - %time:~0,5% Uhr - Das Backup wurde fertiggestellt. >>%logfile% 
20.
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é
Mitglied: Ausserwoeger
02.12.2010 um 13:30 Uhr
Dann würd ich mal Robocopy versuchen ! is ab Windows 2003 Server im betriebssystem drin und funktioniert wunderbar ! und du hättest dein gewünschtes ergebnis ohne lässtiges Batchfileschreiben.

LG Andreas Ausserwöger
Bitte warten ..
Mitglied: Biber
02.12.2010 um 13:39 Uhr
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
Bitte warten ..
Mitglied: Skyemugen
02.12.2010 um 15:06 Uhr
Aloha Biber,

natürlich Schalter /b ... ach manchmal kann es doch so einfach sein *lach* ich danke dir mein lieber Biber, funktioniert wunderbar. (Warum ich da nicht selbst drauf gekommen bin, hm der Schnee verwirrt meine Sinne heute ^.^)

Ja das ausführliche Tut zu FOR habe ich bereits gelesen (oder mehr halb überflogen), wurde ich noch nicht ganz schlau draus aber was nicht ist, kann ja noch werden.

@Ausserwöger
nunja leider (wie man auch im code sehen kann) ist das ein Windows 2000 Server Betriebssystem ;)

auf jeden Fall einen Dank für eure Anteilnahme und Hilfestellung (die Lösung war eben doch banal höhö)
Bitte warten ..
Mitglied: Ausserwoeger
05.12.2010 um 15:10 Uhr
Nur noch zur info ! Gibts auch zum nachinstallieren als download also geht auch mit win 2000 servern !

LG Andreas Ausserwöger
Bitte warten ..
Mitglied: Skyemugen
06.12.2010 um 11:18 Uhr
Aloha,

ich hoffe hier guckt nochmal wer rein und kann mir kurze Hilfestellung geben, denn es hat sich ergeben, dass ich beim Backup ein bestimmtes Verzeichnis ignorieren muss.
Das an sich ist kein Problem, nur müsste ich jetzt beim Zähldurchgang natürlich ebenso dieses Verzeichnis ausschließen, da sonst mein Vergleich ja sinnfrei wäre.

Die xcopy-Zeile sieht jetzt wie folgt aus:
01.
xcopy %Quelle% %Ziel% %Schalter%/EXCLUDE:D:\Home\exclude.txt >>%logfile% 2>&1
und die exclude.txt so:
01.
D:\Home\Benutzerverzeichnis\Name.Nachname\
Ich wüsste momentan leider nicht, wie ich das umsetzen kann, darum hoffe ich, ihr könnt mir erneut helfen.

Grüße André

ps: nicht wundern, dass es jetzt ein anderer Pfad ist als im EP, ist schon korrekt ;)

EDIT: spielt keine Rolle mehr, xcopy kommt sowieso mit dem Umfang der Struktur scheinbar nicht klar und gibt den Standard-Fehlercode „Nicht genügend Arbeitsspeicher“ raus, ich vermute aber, der gesamte Pfad der Unterordner wird inzwischen zu lang sein ... und bei robocopy bekomme ich ständig ERROR 5 Zugriff verweigert ~.~
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...