Zum Inhalt springen

DOS meets Batch


DravenX

Empfohlene Beiträge

Challo!!

Hab da mal ne Frage.

Wie kann ich mir mit ner einfachen Dos Anweisung die Größe eines Ordners ausgeben lassen, sodass ich diese als Variable verwenden kann?!?

Gibt es noch eine andere Möglichkeit als *.* um alle Dateien ausgeben zu lassen?

Versuche abzufragen, ob ein Ordner leer ist...

*********************************************************

if not exist ....\*.* goto "Anweisung" *********************************************************

Hierbei findet Dos natürlich immer die blöden \. und \.. Dateien...

Also ist der Ordner für diese Abfrage nie leer.

Bedanxx!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

mußt mal schauen, ob es dir weiterhilft : http://www.heise.de/ct/04/07/192/default.shtml

Dateigröße per Batch abfragen

Frage : Ich habe mir eine kleine Batch-Datei geschrieben, mit der ich meine wichtigsten Daten sichere. Jedes Mal, wenn sie läuft, hängt sie die geänderten Dateien an eine ZIP-Datei an. Diese möchte ich nun automatisch auf eine CD brennen, aber nicht jeden Tag, sondern erst wenn sie 700 MByte groß geworden ist und sich das Verbrauchen eines Rohlings lohnt. Leider scheitere ich daran, die Dateigröße von der Batch-Datei aus abzufragen.

Antwort : Zumindest unter Windows 2000 und XP bringt die Shell alles Nötige bereits mit. Die Größe Ihrer Datei ermitteln Sie mit der Zeile

for %%F in (D:\backup.zip) do set groesse=%%~zF

(Diese Syntax gilt innerhalb einer Batch-Datei; auf der Kommandozeile selbst muss man statt der doppelten Prozentzeichen einfache verwenden.) Der Trick ist, dass der for-Befehl verschiedene Angaben über eine Datei liefern kann. Dazu setzt man zwischen das Prozentzeichen und den Namen der Laufvariable eine Tilde und einen oder mehrere Kennbuchstaben. So liefert z die Dateigröße, d das Laufwerk, auf dem die Datei liegt, und x die Dateierweiterung. Eine komplette Liste liefert der Befehl for /? oder die Windows-Hilfe.

Numerische Vergleiche sind mit dem Befehl if kein Problem:

if %groesse% geq 700000000 goto brennen

Dabei steht geq für „größer oder gleich“. Auch hier kann man sich mit if /? oder in der Windows-Hilfe eine Aufstellung der zur Verfügung stehenden Operatoren besorgen. In c't 16/03 gab es übrigens einige Artikel zum Thema Kommandozeile und Batch-Programmierung. (hos)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...