Bei CMD Antwort aus Befehl in neuen Befehl einfüge

Hallo,

mir stellt sich folgendes Problem, ich schreibe hobbymäßig gerne kleine Batches und würde gern ein neues Batch schreiben, das wie folgt funktionieren soll:

Es gibt einen Ordner
„C:\Neuer Ordner“
in diesem befinden sich die Datein 1.txt und 2.txt

Dann gibt es eine Sicherung dieses Ordner
„C:\Neuer Ordner2“
in diesem befinden sich die Datein 1.txt, 2.txt und 3.txt

ich möchte, da die Datei 3.txt, die ja offensichtlich aus dem Ordner gelöscht worden ist aus dem Sicherungsordner löschen lassen…

Mein Ansatz sieht wie folgt aus:

dir /B „C:\Neuer Ordner2“
(als Antwort kommt dann natürlich der Ordnerinhalt)

IF NOT EXIST "C:\Neuer Ordner\ " del "C:\Neuer Ordner2\ "

Nun zu meiner Frage, gibt es die Möglichkeit, die Ergebnisse, die der dir-Befehl ausgibt in die beiden Lücken zu bekommen, sodass, wenn ich das Batch öffne alle Datein, die nicht mehr existieren gelöscht werden?

Ginge das ganze auch weiter, wenn sich Ordner in diesem Ordner befinden würden, würden somit auch die Ordner/deren Inhalte auf „alte Datein“ überprüft werden?
Ich hoffe, das Ganze ist nicht zu schwer und freue mich schon auf eure Antworten

Danke im voraus

Hallo!

Hier gibt es mehrere Ansätze. Da meine CMD-Arbeiten eine ganze Weile her sind, werfe ich einfach mal 3 Konstrukte zusammen. Schleife, Bedingung und Unterroutinenaufruf.

FOR /F „tokens=*“ %%G IN (‚dir /b C:\temp*.txt‘) DO CALL :del_sub
GOTO :eof

del_sub

REM Hier kommt die Bedingung dann rein
IF NOT EXIST %%G (del)
GOTO :eof

Das Stück ist einfach zusammengeworfen und ungetestet und ich sehe auch schon das erste Problem (die Variable), aber vielleicht reicht das ja als Ansatz.
Du könntest mit Umgebungsvariablen arbeiten. Das müsste man dann probieren.
Ich hoffe, das hilft dir erst mal weiter.

Alternativ habe ich einen eher verwegenen Vorschlag: Wie sieht es denn aus, Batch-Aktionen in JScript oder VBScript zu erstellen? Der entsprechende Scripting Host ist Teil des Systems und somit kann direkt losgelegt werden.
Eine Stufe weiter gehen Skripte, die in TCL oder Python programmiert wurden. Wir haben es hier ebenfalls mit Interpretersprachen zu tun, die viele Aufgaben dynamisch ermöglichen, aber wesentlich mächtiger daherkommen und einfacher in Programmierung und Wartung erscheinen.

Vor allem für das schnelle Erstellen von Skripten kann ich die Letztgenannten nur empfehlen. das ist auch ein Grund, warum meine CMD-Zeiten so lange Vergangenheit sind.

MFG!

Also, erstmal danke für die schnelle Antwort, ich werd mal sehen ob ich das mit dem Script evtl. hinbekomme…
Zu den Scripten, klingt ja alles ein wenig kompliziert :smiley:
Gibt es eine Art Tutorial oder ein Register wo alle Befehle/eine erste Einweisung zu dem Thema vorhanden wäre?

Hallo,

eine gute Quelle verbirgt sich hinter: http://tinyurl.com/6758d9a

Punkt 3 gibt zum Beispiel Aufschluss über den Befehlsumfang.

MFG!

Gibt es eine Art Tutorial oder ein Register wo alle
Befehle/eine erste Einweisung zu dem Thema vorhanden wäre?

Ok, das werde ich mir mal ansehen…

Ich hab derweil einen anderen Ansatz aufgesetzt:

dir /B „C:\Neuer Ordner2“
> „C:\test2.txt“

set /P var = TYPE „C:\test2.txt“

IF NOT EXIST „C:\Neuer Ordner%var%“ del „C:\Neuer Ordner2%var%“

jedoch funktioniert das nicht ganz, gäbs eine Möglichkeit das Ganze so zu verändern, dass es klappen würde?