Jump to content
Sign in to follow this  
Birgit25

Defrag per VBS

Recommended Posts

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

Share this post


Link to post
Share on other sites

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}"

Share this post


Link to post
Share on other sites

Ich weiß, ich bekomme die Meldung über das Beenden leider nicht verarbeitet, da das Fenster den selben Titel wie die Anwendung hat.

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

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.   Restore formatting

  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.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...