derMaddin 10 Geschrieben 17. Mai 2006 Autor Melden Geschrieben 17. Mai 2006 Danke. Stand beides nicht zur Verfügung, hab mir die Sleep.exe aus dem Netz geholt, funktioniert einwandfrei. Zitieren
derMaddin 10 Geschrieben 18. Mai 2006 Autor Melden Geschrieben 18. Mai 2006 So... Für Interessierte und der Vollständigkeit wegen will ich hier doch mal meine (endlich funktionierenden) Scripte veröffentlichen: Das folgende Script ist für die Wiederherstellung auf dem Server zuständig: Da ich mit vielen Variablen gearbeitet habe, sollte das Script leicht an jeden Rechner angepasst werden können Inklusive Menüführung, Logdateien, zusätzliche Abfragen bei Falscheingabe Verdammt... mein Script hat mehr als 4000 Zeichen ^^ Dann eben geteilt @ECHO OFF REM ============== Variablendefinition =============== SET LogDir=C:\Dokumente und Einstellungen\Administrator\Desktop\LOG SET ProfilLog=Wiederherstellung(Profile).LOG.txt SET UserLog=Wiederherstellung(Benutzerlaufwerke).LOG.txt SET FileLog=Wiederherstellung(Dateiserver).LOG.txt SET PRofilPfad=C:\Profile SET SaveProfilPfad=G:\Profile SET UserLWPath=C:\Benutzerlaufwerke SET SaveUserLWPath=G:\Benutzerlaufwerke SET DateiserverPfad=C:\Dateiserver SET DateiserverSave=G:\Dateiserver IF NOT EXIST %LogDir% MD %LogDir% REM ================================================== REM ======= Auswahlmenü (Wiederherstellung) ========== REM ================================================== :GESAMTAUSWAHL CLS ECHO Bitte waehlen sie die gewuenschte Wiederherstellungsoption: ECHO. ECHO 1 = Profile ECHO 2 = Benutzerlaufwerk ECHO 3 = Dateiserver ECHO 4 = Logdatei anzeigen ECHO 0 = Beenden ECHO. SET /p GesamtAuswahl= Auswahl: REM ========== Auswertung der Auswahl ========== IF %GesamtAuswahl% == 1 GOTO PROFILE IF %GesamtAuswahl% == 2 GOTO BENUTZERLAUFWERK IF %GesamtAuswahl% == 3 GOTO DATEISERVER IF %GesamtAuswahl% == 4 GOTO SHOWLOG IF %GesamtAuswahl% == 0 EXIT GOTO GESAMTAUSWAHL REM ================================================== REM ========== Wiederherstellung Profile ============= REM ================================================== :PROFILE REM ========== Auswahlmenü ========== ECHO. SET /p Username= Bitte gewuenschten Benutzer eingeben: :SAVEPROFILRESTART ECHO. SET /p Sicherungsdatum= Bitte Datum der gewuenschten Sicherung eingeben (TT.MM.JJJJ): ECHO. GOTO PROFILVERZEICHNISTEST :PROFILNEWNAME ECHO. SET /p Username= Bitte gewuenschten Benutzer eingeben: REM ========== Verzeichnisprüfung ========== :PROFILVERZEICHNISTEST IF NOT EXIST %SaveProfilPfad%\Sicherung_%Sicherungsdatum% GOTO PROFILERRORDATE IF NOT EXIST %SaveProfilPfad%\Sicherung_%Sicherungsdatum%\%Username% GOTO PROFILERRORUSER REM ========== Zeitstempel für Log-Datei ========== ECHO. >> %LogDir%\%ProfilLog% ECHO. >> %LogDir%\%ProfilLog% ECHO ========================================================================== >> "%LogDir%\%ProfilLog%" ECHO ============ Wiederherstellung Profil %Username% am %date%============ >> "%LogDir%\%ProfilLog%" ECHO ========================================================================== >> "%LogDir%\%ProfilLog%" REM ========== Wiederherstellungsvorgang ========== XCOPY %SaveprofilPfad%\Sicherung_%Sicherungsdatum%\%Username% %ProfilPfad%\%Username% /v /f /s /e /k /r /h /o /y >> "%LogDir%\%ProfilLog%" ECHO. ECHO Wiederherstellungsvorgang ausgefuehrt! ECHO. GOTO SAVEPROFILEND Zitieren
derMaddin 10 Geschrieben 18. Mai 2006 Autor Melden Geschrieben 18. Mai 2006 REM ========== Fehlerabfragen ========== :PROFILERRORDATE ECHO. ECHO Zum gewuenschten Datum wurde keine Profilsicherung vorgenommen. SET /p SaveProfilDir= Moechten sie die verfuegbaren Sicherungen anzeigen? (j/n) IF %SaveProfilDir% == n GOTO SKIPDATEDIR IF %SaveProfilDir% == N GOTO SKIPDATEDIR DIR %SaveProfilPfad%\*Sicherung* :SKIPDATEDIR ECHO. SET /p SaveProfilRestart= Moechten sie den Vorgang mit einem neuen Datum wiederholen? (j/n) IF %SaveProfilRestart% == j GOTO SAVEPROFILRESTART IF %SaveProfilRestart% == J GOTO SAVEPROFILRESTART GOTO SAVEPROFILEND :PROFILERRORUSER ECHO. ECHO Fuer den Benutzer existiert zum angegebenen Datum keine Sicherung SET/p %SaveProfilDir%= Moechten sie die Verfuegbaren Benutzerkonten anzeigen? (j/n) IF %SaveProfilDir% == n GOTO SKIPDIR IF %SaveProfilDir% == N GOTO SKIPDIR DIR %SaveProfilPfad%\Sicherung_%Sicherungsdatum%\ :SKIPDIR :SAVEPROFILEND ECHO. SET /p ProfilNewName= Moechten sie den Vorgang fuer einen anderen Benutzer wiederholen? (j/n) IF %ProfilNewName% == j GOTO PROFILNEWNAME IF %ProfilNewName% == J GOTO PROFILNEWNAME ECHO. SET /p RestartProgram= Moechten sie weitere Wiederherstellungsvoränge ausfuehren? (j/n) IF %RestartProgram% == j GOTO GESAMTAUSWAHL IF %RestartProgram% == J GOTO GESAMTAUSWAHL EXIT REM ============================================================ REM ========== Wiederherstellung Benutzerlaufwerke ============= REM ============================================================ :BENUTZERLAUFWERK ECHO. SET /p Username= Bitte geben sie den Namen des Benutzers ein: IF NOT EXIST %SaveUserLWPath%\%Username% GOTO USERERRORNAME REM ========== Zeitstempel für Logdatei ========== ECHO. >> %LogDir%\%UserLog% ECHO. >> %LogDir%\%UserLog% ECHO ========================================================================== >> "%LogDir%\%UserLog%" ECHO ============ Wiederherstellung Profil %Username% am %date%============ >> "%LogDir%\%UserLog%" ECHO ========================================================================== >> "%LogDir%\%UserLog%" REM ========== Wiederherstellungsvorgang ========== XCOPY %SaveUserLWPath%\%Username% %UserLWPath%\%Username% /v /f /s /e /h /k /r /o /y >> "%LogDir%\%UserLog%" ECHO. ECHO Benutzerlaufwerk von %Username% wurde wiederhergestellt. ECHO. GOTO BENUTZERLAUFWERKSUCCESS :USERERRORNAME ECHO. ECHO Fuer den gewaehlten Benutzer existiert keine Sicherung SET /p BenutzerlaufwerkDir= Moechten sie die verfuegbaren Sicherungen anzeigen? (j/n) IF %BenutzerlaufwerkDir% == j DIR %SaveUserLWPath% IF %BenutzerlaufwerkDir% == J DIR %SaveUserLWPath% :BENUTZERLAUFWERKSUCCESS ECHO. SET /p BenutzerlaufwerkNew= Moechten sie den Vorgang fuer einen anderen Benutzer wiederholen? (j/n) IF %BenutzerlaufwerkNew% == j GOTO BENUTZERLAUFWERK IF %BenutzerlaufwerkNew% == J GOTO BENUTZERLAUFWERK ECHO. SET /p RestartProgram= Moechten sie weitere Wiederherstellungsvorgaenge ausfuehren? (j/n) IF %RestartProgram% == j GOTO GESAMTAUSWAHL IF %RestartProgram% == J GOTO GESAMTAUSWAHL EXIT Zitieren
derMaddin 10 Geschrieben 18. Mai 2006 Autor Melden Geschrieben 18. Mai 2006 REM ====================================================== REM ========== Wiederherstellung Dateiserver ============= REM ====================================================== :DATEISERVER ECHO. IF NOT EXIST %DateiserverPfad% GOTO SAVEFILESERVER ECHO Das Verzeichnis des Dateiservers ist bereits vorhanden! SET /p DateiserverOverwrite= Moechten sie eventuell vorhandene Dateien ueberschreiben? (j/n) IF %DateiserverOverwrite% == j GOTO SAVEFILESERVER IF %DateiserverOverwrite% == J GOTO SAVEFILESERVER ECHO. ECHO Der Dateiserver wurde NICHT wiederhergestellt! ECHO. GOTO FILESERVEREND :SAVEFILESERVER REM ========== Zeitstempel für Logdatei ========== ECHO. >> %LogDir%\%FileLog% ECHO. >> %LogDir%\%FileLog% ECHO ============================================================ >> "%LogDir%\%FileLog%" ECHO ============ Wiederherstellung Dateiserver am %date%============ >> "%LogDir%\%FileLog%" ECHO ============================================================ >> "%LogDir%\%FileLog%" REM ========== Wiederherstellungsvorgang ========== XCOPY %DateiserverSave% %DateiserverPfad% /v /f /e /k /r /o /y >> "%LogDir%\%FileLog%" ECHO. ECHO Der Dateiserver wurde wiederhergestellt. :FILESERVEREND ECHO. SET /p RestartProgram= Moechten sie weitere Wiederherstellungsvorgaenge ausfuehren? (j/n) IF %RestartProgram% == j GOTO GESAMTAUSWAHL IF %RestartProgram% == J GOTO GESAMTAUSWAHL EXIT REM ====================================================== REM ================ Logdatei anzeigen =================== REM ====================================================== :SHOWLOG CLS ECHO Logdatei anzeigen fuer: ECHO. ECHO 1 = Profile ECHO 2 = Benutzerlaufwerke ECHO 3 = Dateiserver ECHO 0 = Zurueck ECHO. SET /p LogAuswahl= Auswahl: IF %LogAuswahl% == 1 notepad.exe "%LogDir%\%ProfilLog%" IF %LogAuswahl% == 2 notepad.exe "%LogDir%\%UserLog%" IF %LogAuswahl% == 3 notepad.exe "%LogDir%\%FileLog%" IF %LogAuswahl% == 0 GOTO GESAMTAUSWAHL GOTO SHOWLOG Zitieren
Gast Flipshot Geschrieben 18. Mai 2006 Melden Geschrieben 18. Mai 2006 Ich habe mir jetzt nicht alle Postings zu dem Thread durch gelesen, also bitte um Nachsicht, falls meine Lösung schon bekannt ist :) Ich ermittle das Datum und die Uhrzeit wie folgt. Dabei formatiere ich die Ausgaben noch nach "JahrMonatTagStundeMinuteSekunde" um und lasse damit einen Ordner erstellen. Recht praktisch für Ordnersortierungen. Rem *** Ermitteln des aktuellen Datums *** For /f "Tokens=1-2 Delims= " %%i In ('Date /t') Do Set ActualDate=%%j If "%ActualDate%" == "" ( For /f %%i In ('Date /t') Do Set ActualDate=%%i ) For /f "Tokens=1-3 Delims=." %%i In ("%ActualDate%") Do Set ActualDate=%%k%%j%%i Rem *** Ermitteln der aktuellen Uhrzeit *** For /f "Tokens=1-2 Delims=:" %%i In ('Time /t') Do Set ActualTime=%%i%%j For /f "Tokens=1-2 Delims= " %%i In ("%ActualTime%") Do Set ActualTime=%%i Set LogFileName=%Computername% - %ActualDate%%ActualTime%.log Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.