Windows:Verzeichnistruktur per Batch abarbeiten: Unterschied zwischen den Versionen
Aus znilwiki
BLinz (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
BLinz (Diskussion | Beiträge) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Windows]][[Kategorie:Windows_XP]][[Kategorie:Terminalserver]][[Kategorie:Windows_Server_2000]][[Kategorie:Windows_Server_2003]][[Kategorie:Windows_Server_2008]][[Kategorie:Windows_Vista]][[Kategorie:Windows_7]][[Kategorie:Active_Directory]][[Kategorie:Batch]][[Kategorie:Anmeldeskripte]][[Kategorie:JumpingProfiles]] | [[Kategorie:Windows]][[Kategorie:Windows_XP]][[Kategorie:Terminalserver]][[Kategorie:Windows_Server_2000]][[Kategorie:Windows_Server_2003]][[Kategorie:Windows_Server_2008]][[Kategorie:Windows_Vista]][[Kategorie:Windows_7]][[Kategorie:Active_Directory]][[Kategorie:Batch]][[Kategorie:Anmeldeskripte]][[Kategorie:JumpingProfiles]] | ||
<u>'''Changelog:'''</u> | |||
* 21.01.2012 erste Version mit Hilfsdatei im %TEMP% Ordner | |||
* 09.07.2021 alternative Version die ohne Datei auskommt | |||
---- | |||
==Vorwort== | |||
Hier wird zwar das Abarbeiten einer Verzeichnisstruktur beschrieben - das funktioniert aber auch prima mit Dateien.<br> | |||
Wichtig ist was bei dem Befehl zu Ermittlung der Grunddaten zurück kommt, hier ist es | |||
dir /b "Pfad" | |||
---- | |||
==Version mit Hilfsdatei== | |||
Nachfolgend eine simple Batch-Datei die eine vorhandene Ordnerstruktur abarbeitet.<br> | |||
Konkret wurde das Beispiel genutzt um eine bestimmte Datei aus jedem Benutzerordner zu sichern.<br> | Konkret wurde das Beispiel genutzt um eine bestimmte Datei aus jedem Benutzerordner zu sichern.<br> | ||
Die ermittelte Ordnerstruktur wird dabei in einer Textdatei gespeichert und danach abgearbeitet<br> | |||
Download: '''[[Media:Backup-JPUser.dat.cmd]]''' | <br> | ||
Download: '''[[Media:Backup-JPUser.dat.cmd]]'''<br> | |||
<br> | |||
<source lang="DOS"> | <source lang="DOS"> | ||
@echo off | @echo off | ||
Zeile 46: | Zeile 57: | ||
del "%TEMP%\benutzerliste.txt" | del "%TEMP%\benutzerliste.txt" | ||
REM Und eine Anzeige falls die Batch per Doppelklick gestartet wird und wir etwas lesen | REM Und eine Anzeige falls die Batch per Doppelklick gestartet wird und wir etwas lesen wollen | ||
echo . | echo . | ||
echo Alle Dateien nach \\SERVER\FREIGABE\zzz.JPUser.dat.BACKUPS kopiert. | echo Alle Dateien nach \\SERVER\FREIGABE\zzz.JPUser.dat.BACKUPS kopiert. | ||
Zeile 56: | Zeile 67: | ||
pause | pause | ||
</source> | </source> | ||
---- | |||
==Alternative Version== | |||
Diese Version verzichtet auf das Zwischenspeichern in einer Textdatei:<br> | |||
<source lang="DOS"> | |||
@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. | |||
for /F "eol=# tokens=1-4 delims=\" %%i in ('dir /b "\\SERVER\user"') 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 Und eine Anzeige falls die Batch per Doppelklick gestartet wird und wir etwas lesen wollen | |||
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 | |||
</source> | |||
<comments /> | <comments /> |
Aktuelle Version vom 9. Juli 2021, 08:53 Uhr
Changelog:
- 21.01.2012 erste Version mit Hilfsdatei im %TEMP% Ordner
- 09.07.2021 alternative Version die ohne Datei auskommt
Vorwort
Hier wird zwar das Abarbeiten einer Verzeichnisstruktur beschrieben - das funktioniert aber auch prima mit Dateien.
Wichtig ist was bei dem Befehl zu Ermittlung der Grunddaten zurück kommt, hier ist es
dir /b "Pfad"
Version mit Hilfsdatei
Nachfolgend eine simple Batch-Datei die eine vorhandene Ordnerstruktur abarbeitet.
Konkret wurde das Beispiel genutzt um eine bestimmte Datei aus jedem Benutzerordner zu sichern.
Die ermittelte Ordnerstruktur wird dabei in einer Textdatei gespeichert und danach abgearbeitet
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 wollen
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
Alternative Version
Diese Version verzichtet auf das Zwischenspeichern in einer Textdatei:
@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.
for /F "eol=# tokens=1-4 delims=\" %%i in ('dir /b "\\SERVER\user"') 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 Und eine Anzeige falls die Batch per Doppelklick gestartet wird und wir etwas lesen wollen
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...