title image


Smiley Re: Überprüfung und die Defragmentierung aller Laufwerke auf einmal starten
OK - ist eine Lösung.

Wäre zwar schön gewesen, wenn es auch eine über das GUI gegeben hätte (erwartet man ja eigentlich) aber lässt sich nicht ändern. :-)



Hab das Script etwas umgebaut (gefällt mir so besser). :-)



@ECHO OFF

COLOR 0A

SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION



CALL :ASKFORSTART

CALL :DODEFRAG

CALL :SHUTDOWN %1

GOTO :END



:DODEFRAG

FOR %%D IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (

IF EXIST %%D: (

SET TMPDATE=!DATE!

SET MYDATE=!TMPDATE:~6,4!-!TMPDATE:~3,2!-!TMPDATE:~0,2!

SET MYTIME=!TIME!

SET MYTIME=!MYTIME: =0!

SET MYTIME=!MYTIME:~0,8!



ECHO.=========================================================

ECHO.=== Defragmentiere Laufwerk: %%D:

ECHO.=== Start : !MYDATE!, !MYTIME!

ECHO.=========================================================



DEFRAG %%D: -v -f



SET TMPDATE=!DATE!

SET MYDATE=!TMPDATE:~6,4!-!TMPDATE:~3,2!-!TMPDATE:~0,2!

SET MYTIME=!TIME!

SET MYTIME=!MYTIME: =0!

SET MYTIME=!MYTIME:~0,8!



ECHO.=========================================================

ECHO.=== Ende : !MYDATE!, !MYTIME!

ECHO.=========================================================

)

)

GOTO :END



:ASKFORSTART

ECHO.Sollen wirklich alle Laufwerke defragmentiert werden?

ECHO.

ECHO.Hinweis: Dies kann in Abhaengigkeit von Anzahl und Groesse

ECHO. der Partitionen bis zu mehreren Stunden dauern.

ECHO.

ECHO.Druecken Sie Strg+C um den Vorgang abzubrechen.

ECHO.

PAUSE

GOTO :END



:SHUTDOWN

IF NOT "%~1"=="" (

SET /A TIMER=%~1

SHUTDOWN -t !TIMER! -s -c "Defragmentierung beendet."

)

GOTO :END



:END



Log müsste glaub ich im EventViewer hinterher zu sehen sein - bin mir da aber jetzt nicht ganz sicher.

Wenn dem doch nicht so sein sollte, könnte man das ASKFORRESTART ja in eine andere Datei auslagern, die dann mein Skript einfach mit der Umleitung der Standardausgabe und des Standardfehlerkanal in eine Datei aufruft.



Als Tipp für Dein Skript:

Du solltest evtl. Deine >%LOG% durch 1>"%LOG%" 2>"%LOG%" ersetzen.

Dadurch hast Du zum Einen keine Probleme, wenn Du doch mal Leerzeichen im Pfad hast und zum Anderen werden auch die Fehlermeldungen mitgeloggt.



Gruß



Hawk





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: