Verzeichnise vergleichen

Hallo,

da ich über Google nicht fündig geworden bin, hoffe ich Ihr könnt mir weiterhelfen. Ich habe das Probleme, dass ich den Inhalt zweier Verzeichnise vergleichen muss. Das Script/Programm soll dann die Dateien, welche nicht im Verzeichnis B sind, aus A herausnehmen und nach C verschieben.

Der Vergleich darf nur anhand des Dateinamens erfolgen, da die Endungen Grund verschieden sind.

Für Tipps / Anregungen bzw. Quellen wäre ich sehr dankbar.

MFG jens

Hi Jens,

Das Script/Programm soll dann die Dateien, welche nicht im
Verzeichnis B sind, aus A herausnehmen und nach C verschieben.

Dies lässt sich ja mit einfacher Mengenlehre lösen, denn die zu verschiebenden Dateien sind praktisch A-B (Differenzmenge).
Du könntest also den Inhalt der Verzeichnisse in je eine Sammlung A und B einlesen und dann alle Elemente von B aus A entfernen. Die restlichen Element in A sind dann die, die du nach Verzeichnis C verschieben kannst.

Der Vergleich darf nur anhand des Dateinamens erfolgen, da die
Endungen Grund verschieden sind.

Dann sollten die Sammlungen auch nur den Dateinamen beachten, also ohne die Endung.

Ist doch eigentlich ganz einfach, oder?!

Ciao, Bill

Falls du das unter Windows machen willst würde ich VBScript empfehlen (kein Kommandozeilen-Batch), damit lässt sich das recht einfach und sauber lösen.

Grüße, Robert

Hallo Jens,

welches BS?

Der Vergleich darf nur anhand des Dateinamens erfolgen, da die
Endungen Grund verschieden sind.

Deutet ja auf Windows hin, …

Per Script würde ich das nicht können, aber mit VB wäre es eine Kleinigkeit.
Offen wären da nur vier Fragen.

  • Sind die Verzeichnisse über Laufwerksbuchstaben erreichbar?
  • Sollen die Endungen beim Kopieren verändert werden?
  • Soll das Programm manuell gestartet werden, oder regelmäßig die Verzeichnisse kontrollieren und automatisch arbeiten?
  • Soll ich Dir so ein Tool schreiben? :wink:

cu Rainer

welches BS?

Beim Betriebssystem handelt es sich um Win2k prof

Per Script würde ich das nicht können, aber mit VB wäre es
eine Kleinigkeit.

Für VB braucht man doch ein Development-Tool und das wird teuer?

  • Sind die Verzeichnisse über Laufwerksbuchstaben erreichbar?

Es ist eine rein lokale Geschichte. Alle Verzeichnisse A,B, C liegen
auf dem gleichen Laufwerk und sind somit darüber auch ansprechbar

  • Sollen die Endungen beim Kopieren verändert werden?
  • Soll das Programm manuell gestartet werden, oder regelmäßig
    die Verzeichnisse kontrollieren und automatisch arbeiten?

Die Endungen brauchen nicht verändert werden und das Programm braucht keinen
Automatismus. Es ist eine Kontrollfunktion für mich, welche ich ab und an
laufen lassen möchte.

  • Soll ich Dir so ein Tool schreiben? :wink:
    cu Rainer

Das ist ein verlockendes Angebot, aber ich würde gern dabei was lernen d.h.
mit Tipps/Dokus und Codeschnipseln wäre mir schon sehr geholfen. Mein
bisheriges Wissen beschränkt sich auf Grundlagen Pascal / Delphi. Bin aber
gerne bereit mich mit einer anderen Sprache zu beschäftigen, da ich häufiger
auf solche Probleme stoße.

MFG Jens

Hallo Jens,

Für VB braucht man doch ein Development-Tool und das wird
teuer?

Das stimmt leider. ;-(

  • Sind die Verzeichnisse über Laufwerksbuchstaben erreichbar?

Es ist eine rein lokale Geschichte. Alle Verzeichnisse A,B, C
liegen
auf dem gleichen Laufwerk und sind somit darüber auch
ansprechbar

Dann wird’s besonders leicht. :wink:

Die Endungen brauchen nicht verändert werden und das Programm
braucht keinen
Automatismus. Es ist eine Kontrollfunktion für mich, welche
ich ab und an
laufen lassen möchte.

Wird immer leichter. :wink:

  • Soll ich Dir so ein Tool schreiben? :wink:
    cu Rainer

Das ist ein verlockendes Angebot, aber ich würde gern dabei
was lernen d.h.
mit Tipps/Dokus und Codeschnipseln wäre mir schon sehr
geholfen. Mein
bisheriges Wissen beschränkt sich auf Grundlagen Pascal /
Delphi.

Na so groß ist der Unterschied zwischen Delphi und VB nicht.

Bin aber
gerne bereit mich mit einer anderen Sprache zu beschäftigen,
da ich häufiger
auf solche Probleme stoße.

Na dann mach ich mal und schicke es Dir samt Quellcode. :wink:
In Delphi übersetzen kann ich’s leider nicht, Pascal beherrsche ich nicht.

Mail mit Link zum Download folgt, das ist der sicherste Weg.

Bis dann,

cu Rainer

Per Script würde ich das nicht können, aber mit VB wäre es
eine Kleinigkeit.

Unter VBScript gibt es das sogenannte FileSystemObject, mit dem lässt sich das alles machen. IMHO ist das eine typische Aufgabe für ein Betriebssystem-Skript, VB auszupacken ist da ein bißchen Overkill.

Grüße, Robert

Hallo Robert,
das ist mir schon klar, ich habe doch nur gesagt, mit VBS würde ich das nicht können. … weil ich mich noch nicht mit VBS befasst habe. Wie müßte ich das schreiben? Einfach mit Notepad den Quelltext und dann mit .vbs sichern? Wenn’s so ist, probier ich das mal aus. Meine VB-Kenntnisse und die Befehlsliste sind da sicher hilfreich. :wink:
cu Rainer

Wie müßte ich das schreiben?
Einfach mit Notepad den Quelltext und dann mit .vbs sichern?

Job, genau. :smile:

Wenn’s so ist, probier ich das mal aus. Meine VB-Kenntnisse
und die Befehlsliste sind da sicher hilfreich. :wink:

Dieser Link hilft dir für das FileSystemObject vielleicht weiter:
http://msdn.microsoft.com/library/default.asp?url=/l…

Grüße, Robert

Hallo Robert,
ja, der Link hat geholfen, sieht aus wie VB. :wink:
Heute Abend werde ich mal etwas mit VBS ‚rumspielen‘.
VB ohne Steuerelemente, … klingt interessant.
cu Rainer