Windows:Verzeichnistruktur per Batch abarbeiten
Aus znilwiki
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...