newstar7777
Goto Top

Batch - Windows XP aufräumen, aber mit vorher und nachher freier Speicherplatz anzeigen:

Hallo.
Ich habe versucht ein Programm in Batch zu programmieren, was den freien Speicherplatz vorher und nachher anzeigt, aber das Programm bricht ab, hmm...

@echo off
rem Diese Batch-Datei ist für Windows XP gedacht
rem FSUTIL.EXE und FINDSTR.EXE muss vorhanden sein!

setlocal
set ValidDrives=F:\

for /f "tokens=3* delims= " %%a in ('dir C:\ /a /c ^| findstr /i /C:" Bytes frei"') do set BeforeFree=%%a  
echo Freier Speicher auf Laufwerk C: betraegt %BeforeFree%

fsutil.exe >NUL || goto :MissingFile FSUTIL.EXE
findstr.exe /? >NUL || goto :MissingFile FSUTIL.EXE

echo Laufwerke abfragen ...
for %%a in (A B 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 (
   fsutil fsinfo drivetype %%a: | findstr -i fixed && call :TestDrive %%a
   )

echo.
echo Diese Batch-Datei wird Temp Dateien und Temporary Internet Files bereinigen,
echo die oben aufgezaehlt werden. Es wird empfohlen, das Sie NUR fortsetzen, wenn
echo sie schon ein volles Backup des Laufwerks haben.
echo Druecke [Ctrl]+C zum Abbrechen oder 'J' zum ausfuehren des Batch Programms.   
pause

if exist "%TEMP%" (  
   echo Reinige Windows Temp Dateien ...
   cd /D "%Temp%"  
   rd /q /s "%Temp%\" 2>NUL  
   echo sind bereinigt %Temp% ...
   ) else (echo Windows Temp Files ist sauber)

for %%b in (%ValidDrives%) do call :CleanDrive %%b

goto :EOF

:CleanDrive
set RunDrive=%1:

echo.
echo Folgende Ordner zu bereingen in %SystemDrive%:
for /f "delims=" %%a in ('dir /b /a:d-h "%SystemDrive%\Dokumente und Einstellungen"') do if not "%%a"=="All Users" echo "%%a"  

for /f "delims=" %%a in ('dir /b /a:d-h "%SystemDrive%\Dokumente und Einstellungen"') do if not "%%a"=="All Users" call :Clean %%a  
echo Fertig.

for /f "tokens=3* delims= " %%a in ('dir C:\ /a /c ^| findstr /i /C:" Bytes frei"') do set AfterFree=%%a  
echo Freier Speicher auf C: vorher: %BeforeFree%
echo Freier Speicher auf C: nachher: %AfterFree%
goto :EOF


:Clean
if "%*"=="" goto :EOF  
echo.
echo Zu bereinigte %*'s Dateien ...  
if not exist "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen" echo Account "%*" ist ein spezieller Account oder ist schon gesaeubert (wird uebersprungen)&goto :EOF  
if exist "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temporary Internet Files\OLK*" (call :BackupOLK %*) else echo Outlook Temp files nicht gefunden  

if exist "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temporary Internet Files\" (  
   echo Saeubere %*'s Temporary Internet Files ...  
   cd /D "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temporary Internet Files"  
   rd /q /s "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temporary Internet Files\" 2>NUL  
   ) else (echo %*'s Temporary Internet Files ist sauber)  

if exist "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temp\" (  
   echo Saeubere %*'s Temp Files ...  
   cd /D "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temp"  
   rd /q /s "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temp\" 2>NUL  
   ) else (echo %*'s Temp Files ist gesaeubert)  

echo Benutzer Ordner "%*" bereinigt ...  
goto :EOF


:TestDrive
if exist "%1:\Dokumente und Einstellungen\" (  
   echo Benutzer Profile wurde gefunden auf %1:
   set ValidDrives=%ValidDrives% %1
   )
goto :EOF


:BackupOLK
echo Sichere Outlook Temp zusaetzlich (fuer alle Faelle) to \HCS ...
for /f "delims=" %%b in ('dir /b /ad "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temporary Internet Files\OLK*"') do (  
   echo gefunden %%b
   del "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temporary Internet Files\%%b\*.tmp"  
   xcopy "%SystemDrive%\Dokumente und Einstellungen\%*\Lokale Einstellungen\Temporary Internet Files\%%b\*.*" \HCS\%%b\ /s /d /c /y  
   )
goto :EOF


:MissingFile
echo Die Datei %1 ist nicht vorhanden.
echo Diese Datei sollte im Windows XP vorhanden sein.
echo Repariere den Computer und starte es erneut.  Programm beendet ...
goto :EOF


:BadPath
echo Konnte nicht finden "%SystemDrive%\Dokumente und Einstellungen" directory ... Programm beendet.  
goto :EOF

Pause
Exit

Content-ID: 212243

Url: https://administrator.de/contentid/212243

Ausgedruckt am: 24.11.2024 um 01:11 Uhr

colinardo
colinardo 28.07.2013 um 12:30:53 Uhr
Goto Top
Hallo newstar7777,

dann mach mal das @echo off weg um genauer zu sehen wo es bei deinem Script hakt...

Grüße Uwe
Gelöste Beitrage bitte auch als solche markieren.Danke.