Fufialk Geschrieben 13. Dezember 2007 Teilen Geschrieben 13. Dezember 2007 Hallo, ich habe mehrere Skripts für die Computerwartung geschrieben und möchte diese automatisch beim Abmelden oder herunterfahren aufführen lassen. Ich habe dies in XP über die Gruppenrichtlinien eingestellt, und es funktioniert auch hervorragend. Nun möchte ich aber die Defragmentierung nicht bei jedem herunterfahren laufen lassen, sondern zum beispiel nur monatlich, also alle vier Wochen. Gibt es da einen Schalter, oder ist dies generell nicht möglich, und ich sollte die Batchdatei lieber von Hand starten? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 13. Dezember 2007 Teilen Geschrieben 13. Dezember 2007 Mir wuerde als Ansatz einfallen ne Textdatei irgendwo hinzulegen die als Inhalt ne Zahlenfolge von 1..30 hat. Wenn dann die Zahl 30 dadrin steht wird das defrag.exe ausgefuehrt und die Zahl auf 1 zurueckgesetzt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Fufialk Geschrieben 13. Dezember 2007 Autor Teilen Geschrieben 13. Dezember 2007 Kannst Du da ein Codebeispiel geben, wie ich das einbinde? echo off set Ordner="D:\programme\OO Defrag\" open <Datei> if <Datei><Wert><<30 <Wert>=<WERT>+1 close<Datei> exit else if <Wert>=0 close<Datei> %Ordner%oodcmd.exe /COMPNAME:C,D,E /OUTPUT:log.txt [/PHP] Da bräuchte ich dann noch mal die genauen Bezeichnungen, um die datei zu öffnen/schließen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 14. Dezember 2007 Teilen Geschrieben 14. Dezember 2007 @echo off set Ordner="D:\programme\OO Defrag\" set Zaehler="D:\programme\oo defrag\counter.txt" for /F "tokens=1" %%a in (%%Zaehler) do set x=%%a rem Wert inkrementieren set /a x = %x%+1 IF %x% == 30 goto DEFRAG rem Neuer Wert in Datei schreiben echo %x% > %Zaehler% goto EOF :DEFRAG rem Zaehler zuruecksetzen echo 1 > %Zaehler% rem Defragmentierung ausfuehren %Ordner%oodcmd.exe /COMPNAME:C,D,E /OUTPUT:log.txt rem eof :EOF So sollte das jetzt gehen denke ich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Fufialk Geschrieben 14. Dezember 2007 Autor Teilen Geschrieben 14. Dezember 2007 Kann es sein, daß da noch ein Fehler in der Syntax ist? Die Datei counter.txt wird irgendwie bearbeitet. Datum/Uhrzeit zuletzt geändert ändern sich bei jedem Aufruf der Batchdatei, aber die 1 im File ändert sich nicht. Oder kann ich das inkrementieren nicht sehen? Was bewirken die Schalter: for /F "tokens=1" %%a in (%%Zaehler) do set x=%%a und: set /a x=%x% + 1 Muß da eventuell ein [%] an Stelle des[/] stehen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Fufialk Geschrieben 14. Dezember 2007 Autor Teilen Geschrieben 14. Dezember 2007 Bei dieser Syntax schreibt er mir immer nur eine "1" in die Textdatei, und sonst nichts weiter. Gebe 29 vor ==> x+1 = 30 startet die Defragmentierung nicht. Und er setzt x wieder 1. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Fufialk Geschrieben 14. Dezember 2007 Autor Teilen Geschrieben 14. Dezember 2007 Korrekt lautet das Skript jetzt: @echo off set Ordner="D:\programme\OO Software\Defrag Professional\" set Zaehler="D:\programme\OO Software\Defrag Professional\counter.txt" for /f "tokens=1" %%a in (%Zaehler%) [B][I][COLOR="red"]do set /a x=%a%[/COLOR][/I][/B] echo %x% rem Wert inkrementieren set /a x=%x%+1 echo %x% IF %x% == 30 goto DEFRAG rem Neuer Wert in Datei schreiben echo %x% > %Zaehler% goto EOF :DEFRAG rem Zaehler zuruecksetzen echo 1>%Zaehler% rem Defragmentierung ausfuehren %Ordner%oodcmd /COMPNAME:C,D,E,G,H /OUTPUTFILE:"H:\LOG\Defrag.txt" rem eof :EOF Dann wird der Wert von [%%a] richtig an die Variable X übergeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mistro Geschrieben 18. Dezember 2007 Teilen Geschrieben 18. Dezember 2007 Warum fragst du nicht einfach das Datum ab? Das spart ne zusätzliche Datei und man (Administrator) weiß immer wann die letzte Defragmentierung gelaufen ist ohne vorher in den counter zu gucken! Es soll ja durchaus Unternehmen geben wo eine Defragmentierung aus irgendwelchen Gründen am 1. des Monats nicht günstig ist. Da jedoch Monate manchmal 28(29),30 oder 31 Tage haben verschiebt sich die Defragmentierung auch immer um 1-2Tage! Nur so als Idee ;o) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.