swfadmin
Goto Top

Script-Fehler für autom. Defrag?

Möchte Defrag des OS Win_XP Pro mit Systemmitteln automatisieren.

Sytem:
WIN XP Pro, AMD Prozessor 3.200+, 2 GB Arbeitsspeicher, MB MSI K8N Neo V2.0, 5 HD, Grafikkarte Nvidia FX5900XT-VTD

Problembeschreibung:

Set objShell = CreateObject( "Wscript.Shell" )
Set objWshScriptExec = objShell.Exec("defrag.exe c: -a")
strOutput=objWshScriptExec.StdOut.ReadAll
strSearch = "Das Volume muss nicht defragmentiert werden"
If InStr(1, StrOutput, strSearch) = 0 Then objShell.Run ("defrag.exe c: /v")
End if

Wegen der Zeile 6 im o. g. Script funktioniert bei mir die Sache nicht. Wie wäre die Schreibweise richtig?

Es ist ein Script aus "Heft Chip 05/2007 auf Seite 197 oben", mit dem man s/eine Festplatte automatisch defragmentieren können soll. Eine schöne Sache, wenn es denn auch funktionieren würde.

Der Herr Chefredakteur Thomas Pyczak hat trotz Erinnerung vor mehreren Wochen bisher leider nicht auf meine Fehleranfrage geantwortet. Aber vielleicht kann mir jemand aus diesem Kreis helfen?
Besten Dank im Voraus.

Content-ID: 59870

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

Ausgedruckt am: 26.11.2024 um 08:11 Uhr

36539
36539 26.05.2007 um 10:23:01 Uhr
Goto Top
Hallo,
ich verwende von http://www.helmrohr.de/
---> Downloads --> Windows --> "Datenträger-WartungXP" und "DfrgStartXP"
Die funktionieren auch.

gruß
onegasee59
bastla
bastla 26.05.2007 um 10:48:32 Uhr
Goto Top
Hallo swfadmin und willkommen im Forum!

Der Fehler im Script resultiert aus der Tatsache, dass "If"-"Then" ein- oder mehrzeilig geschrieben werden kann. Funktionieren sollten also
If InStr(1, StrOutput, strSearch) = 0 Then
    objShell.Run ("defrag.exe c: /v")  
End If
oder
If InStr(1, StrOutput, strSearch) = 0 Then objShell.Run ("defrag.exe c: /v")  
ohne zusätzliches "End If".

Grüße
bastla
swfadmin
swfadmin 26.05.2007 um 11:42:36 Uhr
Goto Top
Tausend Dank an alle unmittelbaren Helfer! Alle Antworten haben auf Anhieb geholfen.
swfadmin
swfadmin 29.06.2008 um 15:45:54 Uhr
Goto Top
Danke für die Hilfe! Das END if hat geholfen.