Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Skript monatlich ausführen

Empfohlene Antworten

Veröffentlicht

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?

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.

  • Autor

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.


@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.

  • Autor

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?

  • Autor

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.

  • Autor

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.

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)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.