Aktionen

Windows:Verzeichnistruktur per Batch abarbeiten

Aus znilwiki

Version vom 21. Januar 2012, 22:15 Uhr von BLinz (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Nachfolden eine simple Batch-Datei die eine vorhande Ordnerstruktur abarbeitet.
Konkret wurde das Beispiel genutzt um eine bestimmte Datei aus jedem Benutzerordner zu sichern.

Download: Media:Backup-JPUser.dat.cmd‎

@echo off
REM ##################################################################################################
REM Einfache Batchdatei die eine Ordnerstruktur abarbeitet.
REM In diesem Fall erstellt diese Sicherheitskopien aller JPUser.dat Dateien der Benutzer
REM 2011 Bernhard Linz
REM Bernhard@znil.net
REM Bernhard.Linz@datagroup.de
REM veröffentlicht auf znilwiki: http://znil.net
REM

REM - Arbeitsgrundlage erstellen #####################################################################

REM Wir löschen das alte Sicherungsverzeichnis samt Inhalt und erstellen es leer neu
RMDIR \\SERVER\FREIGABE\zzz.JPUser.dat.BACKUPS /s /Q
MKDIR \\SERVER\FREIGABE\zzz.JPUser.dat.BACKUPS

REM Wir lassen uns alle Ornder im Verzeichnis auflisten und nehmen diese als Arbeitsgrundlage.
dir /b "\\SERVER\user" > "%TEMP%\benutzerliste.txt"
for /F "eol=# tokens=1-4 delims=\" %%i in (%TEMP%\benutzerliste.txt) do call :SCHLEIFE %%i %%j

goto ENDE


REM SCHLEIFE ######################################################################################### 
:SCHLEIFE
	set ORDNERNAME=%1
	set ORDNERNAME2=%1 %2
	if /I "%ORDNERNAME%"=="" goto :EOF
	for /f "tokens=1,2,3 delims=." %%a in ("%ORDNERNAME%") do set ORDNERNAME1=%%a
	echo %DATE%/%TIME% - Verarbeitetes Profil %ORDNERNAME% / %ORDNERNAME1%
	copy \\SERVER\user\%ORDNERNAME%\JumpingProfile\JPUser.dat \\SERVER\FREIGABE\zzz.JPUser.dat.BACKUPS\%ORDNERNAME%.JPUser.dat
	goto :EOF


REM Schluss ist ######################################################################################
:ENDE	

REM Aufräumen
del "%TEMP%\benutzerliste.txt"

REM Und eine Anzeige falls die Batch per Doppelklick gestartet wird und wir etwas lesen wolleb
echo .
echo Alle Dateien nach \\SERVER\FREIGABE\zzz.JPUser.dat.BACKUPS kopiert.
echo .
echo Verzeichnisinhalt wird nach Tastendruck einmal angezeigt
echo .
pause
dir \\SERVER\FREIGABE\zzz.JPUser.dat.BACKUPS
pause
Loading comments...