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

Wie kann man in einem Verzeichnis nur geänderte Dateien zählen?

Frage Entwicklung Batch & Shell

Mitglied: MrHToast

MrHToast (Level 1) - Jetzt verbinden

18.03.2013, aktualisiert 15:33 Uhr, 2167 Aufrufe, 8 Kommentare, 2 Danke

Guten Morgen,
ich habe ein kleines Robocopy Programm. Dieses Programm führt eine differentielle Sicherung von einem Verzeichnis aus. Jetzt möchte ich noch überprüfe lassen, ob die gleiche Anzahl an geänderten Dateien im Quell- und Zielverzeichnis sind. Für eine komplette Sicherung sieht meine Überprüfung folgender maßen aus:
01.
 set "org1=%quelle1%\" 
02.
set "backup1=%zielen1%\%ZEITT%" 
03.
 
04.
 
05.
FOR /F %%i in ('Dir %org1% /s /A-D^|find "Datei(en)"') do set nrorg1=%%i  
06.
FOR /F %%i in ('Dir %backup1% /s /A-D^|find "Datei(en)"') do set nrbackup1=%%i  
07.
 
08.
echo Quelle ist jetzt: %nrorg1%. >> %logdat% 
09.
echo Ziel ist jetzt: %nrbackup1%. >> %logdat% 
10.
echo. >> %logdat% 
11.
 
12.
if %nrorg1% == %nrbackup1% echo gleiche Anzahl an Dateien in Quelle und Ziel >> %logdatk% 
13.
if %nrorg1% == %nrbackup1% echo gleiche Anzahl an Dateien in Quelle und Ziel >> %logdat% 
14.
if %nrorg1% == %nrbackup1% set "cont=Ergebnis Ihrer Sicherung %sub% - gleiche Anzahl an Dateien in Quelle und Ziel." 
15.
if not %nrorg1% == %nrbackup1% set "cont=Ergebnis Ihrer Sicherung %sub% - FEHLGESCHLAGEN - Protokoll kontrollieren." 
16.
echo. >> %logdat%

Wie werden jetzt nur geänderte Dateien gezählt in der Quelle?
Mitglied: MrNetman
18.03.2013 um 12:09 Uhr
Hi Toast,

Für solche Zwecke gibt es ein nettes Dateiattribut: Archiv a
http://de.wikipedia.org/wiki/Dateiattribut
Damit hat man ein nettes Mittel neue und unveränderte Dateien zu erkennen.
Und dann musst du nur die Liste der bearbeiteten Dateien durchzählen.

Gruß
Netman
Bitte warten ..
Mitglied: MrHToast
18.03.2013, aktualisiert um 12:45 Uhr
Ich habe bloß das Problem, dass ich die Zählbatch nicht selber gemacht habe. Ich habe sie nur übernommen. Ich habe auch keine gute Erklärung der Syntax gefunden. Wie müsste ich den Code verändern?

Ich weis das mit dem Attribut A. Das hat mir leider nicht geholfen. Der Stand ist so. Alle Dateien (komplettes Backup) werden Samstags kopiert und Attribut auf -A gesetzt. Alle Daten die neu hinzugekommen sind oder geändert werden (Attribut A) wurden mit dem Differential Backup jeden Tag kopiert. Bei dem Kompletten Backup werden die Daten korrekt gezählt.

Das Backup Programm war eines meiner ersten Batch-Projekte. Also kenne ich mich auch noch nicht so gut aus. Danke für deine Hilfe.

Mit freundlichen Grüßen MrHToast
Bitte warten ..
Mitglied: Endoro
LÖSUNG 18.03.2013, aktualisiert 10.12.2013
Hallo Toast, wenn du nur die mit gesetztem Archivbit zählen willst, könntest du ja den "dir"-Befehl modifizieren. Zum Beispiel also so:

01.
for /f %%i in ('dir /s /aa-d %org1%') do call set "nrorg1=%%nrorg0%%"&set "nrorg0=%%i" 
02.
echo.%nrorg1%
Wenn keine Datei gefunden wird, meckert cmd natürlich. Ruf doch mal die Hilfe auf "dir /?".

bb
Bitte warten ..
Mitglied: MrHToast
18.03.2013 um 13:59 Uhr
Danke hat geklappt. Ich freue mich sehr das es hier so kompetente Hilfe gibt.
Bitte warten ..
Mitglied: bastla
18.03.2013 um 14:02 Uhr
@ mfm4aa
Wenn keine Datei gefunden wird, meckert cmd natürlich.
... was sich aber natürlich per
for /f %%i in ('dir /s /aa-d %org1% 2^>nul') do
auch unterbinden lässt ...

BTW: Willkommen im Forum!

Grüße
bastla
Bitte warten ..
Mitglied: MrHToast
18.03.2013 um 14:12 Uhr
Brauche ich nicht unbedingt, weil sich jeden Tag viele Dateien ändern.Aber trotzdem Danke.
Bitte warten ..
Mitglied: Endoro
18.03.2013 um 14:56 Uhr
Hallo @bastla, danke. Habt ein nettes Forum hier!
Bitte warten ..
Mitglied: MrHToast
18.03.2013 um 15:13 Uhr
Habe bis jetzt alles gefunden was ich braucht, bis auf diese Frage. Klingt schon mal gut.
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 ...

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 ...