Er að leita að scheduler forriti/background defrag lausn

Skjámynd

Höfundur
DoofuZ
1+1=10
Póstar: 1127
Skráði sig: Lau 30. Okt 2004 16:02
Reputation: 8
Staðsetning: Rivertown
Staða: Tengdur

Er að leita að scheduler forriti/background defrag lausn

Pósturaf DoofuZ » Sun 30. Ágú 2009 17:25

Veit einhver hérna um svona scheduler forrit þar sem hægt er að láta ákveðna hluti keyrast en bara ef einhver áhveðin forrit eru eða eru ekki í gangi og líka bara ef það er t.d. slökkt á skjánum eða eitthvað svoleiðis? 8-[ Er nefnilega að spá varðandi defrag, hef verið að prófa svoldið forrit eins og Defraggler og MyDefrag og vantar að geta keyrt defrag sjálfkrafa en bara þegar það er t.d. slökkt á skjánum eða þegar uTorrent er ekki í gangi. Einhver sem veit um góða lausn á því? :roll:


Gigabyte GA-MA790FXT-UD5P, AMD Phenom II X4 955 @3.2Ghz, 2 x 4gb Corsair Vengeance DDR3 @1600mhz LP, EVGA Geforce GTX 760, Seagate Barracuda 500gb, 20x Sony DVDRW, TT Big Typhoon og 700W Tagan BZ allt í Cooler Master Stacker kassa með 55" Philips HDTV :]

Skjámynd

Höfundur
DoofuZ
1+1=10
Póstar: 1127
Skráði sig: Lau 30. Okt 2004 16:02
Reputation: 8
Staðsetning: Rivertown
Staða: Tengdur

Re: Er að leita að scheduler forriti/background defrag lausn

Pósturaf DoofuZ » Sun 30. Ágú 2009 18:04

Ok, hef skoðað þetta aðeins betur og skilst að það sé eiginlega ekki hægt að athuga hvort það er slökkt á skjá eða ekki en það skiptir líka ekki miklu. Ég vil bara geta haft sjálfvirkt defrag í gangi reglulega en bara ef tölvan er ekki í notkun og bara ef einhver áhveðin forrit eru ekki í gangi. Scheduled Tasks í Windows virkar reyndar ágætlega í þetta þar sem það getur t.d. keyrt forrit bara ef tölvan hefur verið idle í einhvern tíma en þá vantar mig bara að það sem taki við þar athugi hvaða forrit séu í gangi eftir áhveðnum lista og defraggi eftir því. Kannski get ég bara leyst þetta með einhverri command scriptu í Windows :-k

Enginn hér sem hefur sett eitthvað í svipuðum dúr upp hjá sér?


Gigabyte GA-MA790FXT-UD5P, AMD Phenom II X4 955 @3.2Ghz, 2 x 4gb Corsair Vengeance DDR3 @1600mhz LP, EVGA Geforce GTX 760, Seagate Barracuda 500gb, 20x Sony DVDRW, TT Big Typhoon og 700W Tagan BZ allt í Cooler Master Stacker kassa með 55" Philips HDTV :]


SteiniP
Bara að hanga
Póstar: 1573
Skráði sig: Mán 16. Jún 2008 21:54
Reputation: 1
Hafðu samband:
Staða: Ótengdur

Re: Er að leita að scheduler forriti/background defrag lausn

Pósturaf SteiniP » Mán 07. Sep 2009 04:25

Diskeeper er með helling af svona scheduler fítusum og þessháttar.
Var alltaf með það þannig að hann defraggaði á nóttunni ef það var þörf fyrir, held það sé örugglega hægt að láta hann defragga bara þegar tölvan er idle.




bjorni
Nýliði
Póstar: 1
Skráði sig: Mán 07. Sep 2009 11:15
Reputation: 0
Staða: Ótengdur

Re: Er að leita að scheduler forriti/background defrag lausn

Pósturaf bjorni » Mán 07. Sep 2009 11:20

Hef ekkert að gera.. smá forrit þarna sem tekur við nafni á einu processi(án .exe), notar svo scheduled Tasks í Windows á það og það keyrir defrag ef processið er ekki í gangi.

Kóði: Velja allt

using System;
using System.Diagnostics;
using System.Windows.Forms;
using System.IO;

namespace defrag
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            if (File.Exists("proc.txt"))
            {
                string proc = File.ReadAllText("proc.txt");
                if (IsProcessOpen(proc))
                    this.Close();
                else
                {
                    ProcessStartInfo startInfo = new ProcessStartInfo();
                    startInfo.FileName = @"C:\WINDOWS\system32\defrag.exe";
                    startInfo.Arguments = "C: -f";
                    Process.Start(startInfo);
                    this.Close();
                }
            }
        }

        public bool IsProcessOpen(string name)
        {
       foreach (Process clsProcess in Process.GetProcesses())
        {
          if (clsProcess.ProcessName.Contains(name))
          {
             return true;
          }
       }
       return false;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string proc = txtProcess.Text;
            StreamWriter sw = new StreamWriter("proc.txt");
            sw.Write(proc);
            sw.Close();
        }
    }
}

Viðhengi
doofuz.rar
(4.1 KiB) Skoðað 27 sinnum



Skjámynd

Höfundur
DoofuZ
1+1=10
Póstar: 1127
Skráði sig: Lau 30. Okt 2004 16:02
Reputation: 8
Staðsetning: Rivertown
Staða: Tengdur

Re: Er að leita að scheduler forriti/background defrag lausn

Pósturaf DoofuZ » Mán 07. Sep 2009 23:46

Já, þakka þér kærlega fyrir þetta :D Ansi sniðugt forrit! Ég var sjálfur búinn að gera svipað með batch skrá sem getur sleppt defrag ef ótakmarkaður listi af forritum er í gangi en það lýtur svona út:

Kóði: Velja allt

@echo off
if not exist stoplist.txt goto :eof
tasklist>tasklist.tmp
set frags=1
set stopper=unknown
for /f %%i in (stoplist.txt) do call :loopit %%i
if %frags% == 0 (
echo No defrag! Stopped by "%stopper%".
) else call :defragit
set frags=
set stopper=
goto :eof

:loopit
if %frags% == 0 goto :eof
findstr /b /i "%1" tasklist.tmp>nul
if %ERRORLEVEL% == 0 (
set frags=0
set stopper=%1
)
goto :eof

:defragit
call c:\windows\system32\defrag.exe c: -f
goto :eof

En svo set ég þetta bara í Scheduled Tasks og læt það t.d. keyra daglega klukkan 8 á morgnana en kannski bara ef tölvan hefur verið idle síðustu 10 mínútur eða eitthvað svoleiðis. Svo geri ég bara lista yfir forritin í stoplist.txt. Ég var reyndar líka farinn að fikta eitthvað við þetta í vbs scriptu en gafst mjög fljótt upp þar sem forritið Vbsedit virkar svo asnalega, maður velur eina tilbúna scriptu úr menu og vill svo nota aðra líka og þá vill forritið loka skjalinu og gera nýtt með næstu scriptu sem er mjög asnalegt :roll:

Varðandi Diskeeper þá er ég meira fyrir að nota ókeypis forrit, þau eru í flestum tilvikum margfalt betri en þau sem kosta :)

En síðan var ég að prófa öll ókeypis defrag forrit sem ég fann og Smart Defrag er með þeim allra bestu, það getur keyrt í bakgrunninum og það er hægt að láta það defragga sjálfkrafa en bara ef tölvan er undir 20% í nýtingu, sem er stillanlegt alveg uppí 100%, og ef hún er búin að vera idle í 1 til 10 mínútur :8) Held ég sé bara búinn að finna bestu lausnina þar ;) Takk samt fyrir hjálpina :)


Gigabyte GA-MA790FXT-UD5P, AMD Phenom II X4 955 @3.2Ghz, 2 x 4gb Corsair Vengeance DDR3 @1600mhz LP, EVGA Geforce GTX 760, Seagate Barracuda 500gb, 20x Sony DVDRW, TT Big Typhoon og 700W Tagan BZ allt í Cooler Master Stacker kassa með 55" Philips HDTV :]