Frage von PeterVonDeich, 56

CMD/Batch Befehl zur Dateiverwaltung?

Ich habe den Ordner X, dessen gesamter Inhalt sich im Ordner Y (neben anderen dateien) befindet. Nun brauche ich einen Befehl um die Daten des X-Ordners aus dem Y-Ordner zu löschen. Dabei sollen die Dateien im X-Ordner erhalten bleiben und veränderbar sein (also keine konkreten Dateien sondern allgemein den Inhalt löschen).

Ich weiß nicht inwiefern dies überhaupt mit einer Batch Datei möglich ist, daher brauche ich hilfe! Danke im Vorraus:)

Antwort
von PWolff, 18

Habe ich dich richtig verstanden? Du hast mehrere Dateien in zwei Ordnern, wobei im zweiten Ordner auch weitere Dateien liegen, und willst aus dem zweiten Ordner die Duplikate löschen?

Wenn die Dateien nur anhand des Namens identifiziert werden (müssen):

FOR %%A IN ("%X%\*") DO (IF EXIST "%Y%\%%A" DEL "%Y%\%%A")

Wenn die Dateien Byte für Byte übereinstimmen müssen, muss noch eine weitere IF-Bedingung eingeführt werden von der Art

FC /B "%X%\%%A" "%Y%\%%A" >NUL
IF NOT ERRORLEVEL 1 DEL "%Y%\%%A"
Antwort
von Allptraum, 27

Also du hast in Ordner X als Beispiel a.txt b.txt c.txt und in

Ordner Y a.txt b.txt c.txt f.txt z.txt und es sollen dann noch f.txt und z.txt erhalten bleiben in Y erhalten bleiben?

Kommentar von PeterVonDeich ,

Genau. Ich will aber nicht die konkreten Daten a.txt, b.txt und c.txt im befehl aufnehmen, da die Daten im X-Ordner variieren können (zb. noch d.txt).

Kommentar von Allptraum ,

Bei Batch fällt mir da gerade keine konkrete Lösung ein. Ich würde die für so etwas eher Programmiersprachen wie C++ ans Herz legen. Vorteil: Keiner kann den Code ändern/sehen (da .exe) und du kannst es im cmd fenster machen.

Kommentar von PeterVonDeich ,

Ich habe gerade mal sporadische Grundkenntnisse in dos, das gestaltet sich daher relativ schwer... Fällt dir grob eine Lösung in C++ ein?

Kommentar von Allptraum ,

Das ist etwas komplizierter, da die Namen und Anzahl der Dateien unbekannt ist. 

In C++ kannst du eine Liste von Strings mit dem Dateinamen speichern.  Wenn du es also schaffst, eine list<string> mit den dateipfaden vom content von OrdnerX zu erstellen, wäre das kein problem.


Ich probiere das ganze mal zu lösen. Ich kommentiere dir hier dann einen Pastebin link

Keine passende Antwort gefunden?

Fragen Sie die Community