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

Windows Batchdatei nur starten wenn 50 Prozent von C Platte frei?

Frage Entwicklung Batch & Shell

Mitglied: kinggunta

kinggunta (Level 2) - Jetzt verbinden

14.08.2007, aktualisiert 15.08.2007, 5316 Aufrufe, 7 Kommentare

Hi Leute!

Ich möchte mir eine Windows Batchdatei schreiben für eine Datensicherung.

Die Batchdatei soll aber zuerst Prüfen ob auf c: noch mehr als 50% frei sind.
Wie geht das? Nur wenn die Bedingung erfüllt ist das C: nicht mehr als 50% belegt ist soll das Script laufen.

Danke
Gunta
Mitglied: TuXHunt3R
14.08.2007 um 08:29 Uhr
Dazu brauchst du das Tool "Freedisk.exe" aus dem Windows Resource Kit. Wenn du mir etwas Zeit gibts, bastel ich was.....
Bitte warten ..
Mitglied: TuXHunt3R
14.08.2007 um 08:48 Uhr
Ich habe leider im Moment nur Windows 2000 zur Verfügung, darum die Grössenangabe in Bytes. Unter Windows XP/Vista/2003 kannst du die Grössenangabe auch in KB,MB,GB angeben.

Wenn du eine 120 GB Festplatte hast, lautet der Code so:

::

freedisk c: 60000000000
if "%errorlevel%"=="0" (
echo.
echo Es hat genug Platz, Script laeuft weiter....
) else (
echo Script wird beendet
goto :eof
)
::

"60000000000" ist die Grössenangabe in Bytes. Gib dort die Hälfte deiner Partitionsgrösse an. Wie gesagt, im Resource Kit von XP/Vista/2003 kann man die Grösse auch in KB,MB,GB angeben.
Nähere Infos zu Freedisk.exe erfährst du, wenn du freedisk /? im CMD-Fenster eingibst
Bitte warten ..
Mitglied: kinggunta
14.08.2007 um 10:00 Uhr
Danke!

Werde ich gleich testen!
Bitte warten ..
Mitglied: miniversum
14.08.2007 um 17:13 Uhr
Und nur mit Boardmitteln gehts so:
@echo off
FOR /F "tokens=3 delims= " %%i in ('dir /-C c:') do set rest=%%i
set restMB=%rest:0,-6%
if %restMB% lss 60000 echo Weniger als 60000MB frei

miniversum
Bitte warten ..
Mitglied: TuXHunt3R
15.08.2007 um 11:27 Uhr
@ kinggunta

Hat es geklappt mit Freedisk.exe?
Bitte warten ..
Mitglied: bastla
15.08.2007 um 18:55 Uhr
... ansonsten reiche ich noch eine ebenfalls nur mit Bordmitteln arbeitende Variante nach:
01.
@echo off & setlocal 
02.
Set "Check=%temp%\ChkPct.vbs" 
03.
echo Set C=CreateObject("Scripting.FileSystemObject").GetDrive(WScript.Arguments(0)):If (C.FreeSpace/C.TotalSize*100)^<CInt(WScript.Arguments(1)) Then WScript.Quit(1)>"%Check%" 
04.
::für Laufwerk C auf 50 % überprüfen ... 
05.
cscript //nologo "%Check%" C 50 || goto :NichtGenug 
06.
 
07.
echo Sicherung kann gestartet werden ... 
08.
goto :eof 
09.
 
10.
:NichtGenug 
11.
echo Zu wenig freier Speicherplatz ... 
12.
goto :eof
Da sich die Gesamtkapazität einer Partition ja nicht soo oft ändert , würde zwar auch die Angabe des Absolutbetrages von 60 GB (oder GiB oder wie auch immer) wie in den Varianten oben genügen, ich hab's aber trotzdem mal auf Prozent umgestellt - zur Angabe des Satzes (und des zu prüfenden Laufwerkes) siehe Zeile 5.

Wenn weniger als dem angegebenen Prozentsatz entsprechender Speicherplatz frei ist, liefert der "cscript"-Aufruf einen Fehlercode (Errorlevel 1), auf den mit "||" reagiert wird ...

Grüße
bastla
Bitte warten ..
Mitglied: kinggunta
15.08.2007 um 19:44 Uhr
Hallo!

Vielen Dank an alle für die schnelle und umfangreiche Hilfe.
Ich habs mit der Lösung von miniversum erledigt.
Danke für die restlichen Ratschläge vielleicht brauche ich diese ja später mal

DANKE!
Gunta
Bitte warten ..
Ähnliche Inhalte
Windows Server
DCOM-Serverprozess Widows Server 2016 50 Prozent CPU Auslastung (3)

Frage von Kiste zum Thema Windows Server ...

Windows Server
gelöst Windows Server 2012 Std - Windows Update Dienst - 100 Prozent CPU Auslastung (8)

Frage von harald.schmidt zum Thema Windows Server ...

Windows 10
Standard App in Windows 10 starten nicht mehr (7)

Frage von zeroblue2005 zum Thema Windows 10 ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Update
MS: Update-Server-Adressen OHNE Wildcards (16)

Frage von mrserious73 zum Thema Windows Update ...

Multimedia & Zubehör
Laptop per HDMI an TV - einer geht, einer nicht (10)

Frage von dreizehneinhalb zum Thema Multimedia & Zubehör ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (10)

Frage von Matsushita zum Thema Microsoft Office ...