Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Kleines Script in VBS erzeugen das bei freiem Speicher ein Programm ausführt

Frage Entwicklung Basic

Mitglied: Cyberkey

Cyberkey (Level 1) - Jetzt verbinden

19.03.2010 um 17:01 Uhr, 5573 Aufrufe, 3 Kommentare

Habe leider nicht so viele Kenntnisse auf dem Gebiet.

Hallo,

wollte ein kleines Script schreiben das den freien Festplattenspeicher z.B. von C ausliest.
Dann soll der Wert als Variable übernommen werden. Mit einer IF Variable >500MB Then goto 1 Else goto 2
1:
Start Programm1
End sub
2:
'Nichts tun
End sub

Dieses Script kommt dann in den Autostart und soll z.b. Updates verhindern wenn kein freier Speicher mehr Frei ist.

Kennt sich da vll. jemand besser aus?
Mitglied: bstefan82
19.03.2010 um 17:24 Uhr
hier mal nen copy&paste von eines meiner login scripte:

01.
on error resume next 
02.
dim minFreeSpace 
03.
minFreeSpace = 1765 
04.
dim fsoObject, sysdrv 
05.
 
06.
    haveEnoughFreeSpace = false 
07.
    strComputer = "."  
08.
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")  
09.
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk",,48)  
10.
    set fsoObject = WScript.CreateObject("Scripting.FileSystemObject") 
11.
    set sysDrv = fsoObject.GetDrive(fsoObject.GetDriveName("c:")) 
12.
        For Each objItem in colItems 
13.
    if (objItem.Name = sysDrv) then 
14.
        'if (objItem.DriveType = 3) then 
15.
            'WScript.echo "Drive " & objItem.Caption & " free space: " & FormatNumber(objItem.FreeSpace/(1024^2), 0,0,0,0) & "MB" 
16.
            if (objItem.FreeSpace/(1024^2) > minFreeSpace) then 
17.
                haveEnoughFreeSpace = true 
18.
             else 
19.
		freespaceleft = round(objItem.FreeSpace/(1024^2),0) 
20.
	    end if 
21.
    end if 
22.
    Next 
23.
         
24.
    if (haveEnoughFreeSpace = false) then 
25.
	if SendWarnMsg(freespaceleft ) = false then 
26.
        msgTxt = " *** Warnung ***" & chr(13) 
27.
        msgTxt = msgTxt & " Auf dem Systemlaufwerk befindet sich zuwenig freier Speicher. " & chr(13) 
28.
        msgTxt = msgTxt & " Dies kann zu Fehlverhalten und Abstürzen führen. Bitte unter " & chr(13) 
29.
 	msgTxt = msgTxt & " XXXXXXXXXXXXX anrufen, damit der Fehler behoben werden kann. " 
30.
        Msgbox msgTxt , 16, "Systemlaufwerk voll" 
31.
        end if 
32.
        WScript.Quit(1) 
33.
    end if 
34.
     
35.
    WScript.Quit (0) 
36.
 
37.
function SendWarnMsg(fspace) 
38.
on error resume next 
39.
set objNetwork = CreateObject("WScript.Network") 
40.
 
41.
strComputerName = objNetwork.Computername 
42.
 
43.
Set objEmail = CreateObject("CDO.Message") 
44.
objEmail.From = "PCHEALTH@xxx.xx" 
45.
objEmail.To = "xxx@xxx.xx" 
46.
objEmail.Subject = strComputerName & " - Systemlaufwerk voll"  
47.
objEmail.Textbody = "Restkapazität des Systemlaufwerks auf " & strComputerName  & " unter Schwellenwert. Verfügbar: " & fspace 
48.
objEmail.Configuration.Fields.Item _ 
49.
    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
50.
objEmail.Configuration.Fields.Item _ 
51.
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _ 
52.
        "xxx.xxx.locall"  
53.
objEmail.Configuration.Fields.Item _ 
54.
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
55.
objEmail.Configuration.Fields.Update 
56.
objEmail.Send 
57.
if err then 
58.
	SendWarnMsg = false 
59.
 else 
60.
	SendWarnMsg = true 
61.
end if 
62.
end function
Bitte warten ..
Mitglied: 76109
19.03.2010 um 18:03 Uhr
Hallo Cyberkey!

Oder so:
01.
Const Programm = """C:\Windows\Notepad.Exe"""    'Leerzeichen im Pfad erlaubt 
02.
    
03.
Set Fso = CreateObject("Scripting.FileSystemObject") 
04.
Set WshShell = CreateObject("WScript.Shell") 
05.
    
06.
If Round(Fso.GetDrive("C").FreeSpace / (1024^2), 0)  > 500 Then  WshShell.Run Programm, 1, False    'Size in MB
Gruß Dieter
Bitte warten ..
Mitglied: Cyberkey
19.03.2010 um 18:51 Uhr
Danke.. es Funktioniert jetzt...
@bstefan82 .. vll. kann ich mir von deinem noch was abgucken für ev. erweiterungen =)
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
Bash Script soll neue Datei erzeugen (2)

Frage von SpeakerST zum Thema Batch & Shell ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

VB for Applications
gelöst VBS Script kann Prgramm nicht starten (15)

Frage von C.Boerner zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (10)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...