Jump to content

Defrag per VBS


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

Posted

Hallo,

 

ich habe hier ein Defragmentierungsscript, das ich schon seit Jahren unter Windows 2000 einsetzte.

 

Dieses läuft leider nicht unter Windows XP.

 

Ich möchte gerne diese grafische Oberfläche bei Defragmentieren haben.

 

Gibt es eine Möglichkeit mit entsprechenden Änderungen dieses unter XP einzusetzten?

 

'aut0matisches defrag-Start VB-Script für Windows 2000 
'Shell-Objekt initialisieren 
Set WshShell = CreateObject("WScript.Shell") 
'Defrag-Management-Console mit gewünschtem Laufwerk starten 
WshShell.Run "dfrg.msc c:" 
'Warteschleife, bis das Fenster "Defragmentierung" erscheint 
While WshShell.AppActivate("Defragmentierung") = FALSE 
Wscript.Sleep 1000 
Wend 
'Defragmentierungs-Fenster zur Sicherheit nochmal aktivieren 
WshShell.AppActivate "Defragmentierung" 
Wscript.Sleep 200 
'Tastenfolge zum Start der Defragmentierung senden 
WshShell.SendKeys "%OD" 
'Warten, bis Defragmentierung beendet ist (alle 5 Sek. auf Erscheinen der Meldungsbox testen) 
While WshShell.AppActivate("Defragmentierung abgeschlossen") = FALSE 
Wscript.Sleep 5000 
Wend 
'Meldungsbox zur Sicherheit nochmal aktivieren 
WshShell.AppActivate "Defragmentierung abgeschlossen" 
WScript.Sleep 200 
'Tastenkombination ALT+F4 zum Schliessen der Meldungsbox senden 
WshShell.Sendkeys "%{F4}" 
WScript.Sleep 200 
'Tastenkombination ALT+F4 zum Beenden von Defrag senden 
WshShell.Sendkeys "%{F4}"

 

 

Würde mich sehr freuen!

 

LG. Birgit

Posted

Also.

 

Ich hatte das mal vor einiger Zeit probiert umzuschreiben, ist zwar nicht ganz ausgereift, funktioniert aber (zumindest bei mir).

 

Kannste ja mal probieren, keine Gewähr:

 

' Original: http://home.arcor.de/st.gaumitz/progs/scripts/defrag/
'Defrag-Start und Beenden mit VB-Script bei WinXP

'Shell-Objekt initialisieren
Set WshShell = CreateObject("WScript.Shell")

'Defrag-Management-Console starten
WshShell.Run ("dfrg.msc")

'Warten, bis das Fenster "Defragmentierung" erscheint
While WshShell.AppActivate("Defragmentierung") = FALSE
Wscript.Sleep 1000
Wend

'Defragmentierungs-Fenster zur Sicherheit nochmal aktivieren
WshShell.AppActivate "Defragmentierung"
Wscript.Sleep 2000

' In das Menü mit der Laufwerksauswahl wechseln:

WshShell.SendKeys "{TAB}"
WScript.Sleep 1000
WshShell.SendKeys "{TAB}"
WScript.Sleep 1000

'Pfeiltaste:
' Folgenden Befehl benutzen, um ein Laufwerk tiefer auszuwählen, 
' Beispiel: In der Liste werden C: D: E: F: untereinander angezeigt. Für "C:" den Befehl auskommentiert lassen. Für "E:" ihn zwei mal schreiben, also ' WshShell.SendKeys "{DOWN}  {DOWN}" 
' usw.
'WshShell.SendKeys "{DOWN}"
WScript.Sleep 1000		 

' In das Feld "Defragmentierung" wechseln und die Defragmentierung auslösen:
WshShell.SendKeys "{TAB}"
WScript.Sleep 1000	
WshShell.SendKeys "{TAB}"
WScript.Sleep 1000	
WshShell.SendKeys "{ENTER}"

' 20 Sekunden warten, falls die meldung "Wenig Speicherplatz, trotzdem Defragmentieren?" erscheint, vorsorglich dann Enter senden
Wscript.Sleep 20000
WshShell.SendKeys "{ENTER}"

'Warten, bis Defragmentierung beendet ist
'(alle 5 Sek. auf Erscheinen der Meldungsbox testen)

While WshShell.AppActivate("Defragmentierung") = FALSE
Wscript.Sleep 2000
Wend

'Tastenkombination ALT+F4 zum Schliessen der Meldungsbox senden
WScript.Sleep 500
WshShell.Sendkeys "{DOWN}"
WScript.Sleep 200
WshShell.Sendkeys "{ENTER}"
WScript.Sleep 200
'Tastenkombination ALT+F4 zum Beenden von Defrag senden
'WshShell.Sendkeys "%{F4}"

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...