Jump to content

Mit Batch-Datei Dateinamen vergleichen?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo Forum,

 

ich brauche eine Batch-Datei die mir bei folgendem Problem hilft:

 

Im Verzeichnis A sind Dateien, die ins Verzeichnis B kopiert werden sollen. Aber nur die, die im Verz. C noch nicht vorhanden sind.

 

Einfach überschreiben, bzw. mit robocopy -minage und ähnliches geht nicht. Es muss der weg über drei Verzeichnisse gegangen werden.

 

Wie krieg ich sowas hin?

 

Vielen Dank :)

Grins

Geschrieben

ultracompare kann in der console nicht mehr wie windiff. :(

 

könnte es irgenwie mit

 

if exist datei_von_Verz.A im Verz.C copy ins Verz. B

 

geht sowas? evtl. mit variablen? bin kein begabter batcher :)

Geschrieben

es geht nur um die dateinamen. Aber ich weiss im voraus nicht, wie die Datein heissen, die werden automatisch generiert und haben leider keine fortlaufenden nummern oder sowas (dann hätte ich auch das problem nicht).

 

wie würde die syntax mit if exist aussehen? ich weiss nur dass es den befehl gibt, aber nicht wie man ihn umsetzt :rolleyes:

Geschrieben

Hi!

Bei solch "komplizierteren" Fällen nehm ich immer dBase bzw. einen xBase-Clone.

Dazu erzeuge ich zwei Tabellen mit identischen Strukturen, zb.

Name: Verz1, Feldname: Datei, Typ: Char, Länge: 254

Dann lasse ich mir mit DIR /B > Verz1.txt und DIR /B > Verz2.txt die Dateien in Kurzform in die VerzX-Dateien ausgeben.

Mit USE Verz1; ZAP; APPE FROM Verz1.txt SDF lese ich die Inhalte in die Tabellen.

Die öffne ich, SELEktiere die erste, les den Filenamen ein und schaue mit LOCA FOR in der zweiten Tabelle nach, ob die Datei da ist. Wenn nicht: Kopie via RUN COPY plus Parameter, wenn da: SKIP. Alles bis EOF().

Du bist ja nicht auf xBase angewiesen, ist mit einem (wenn vorhanden) Datenbänkchen-Prog nur recht schnell getan.

Wenn Du keine wirklich passende Lösung findest und/oder mit meinem Tip nicht klar kommst, kannst Du Dich wg. weiterer Unterstützung ja noch mal melden.

Gegrüßt!

Geschrieben
wie würde die syntax mit if exist aussehen? ich weiss nur dass es den befehl gibt, aber nicht wie man ihn umsetzt :rolleyes:

 

Zum Beispiel so:

 

@echo off
if exist c:\dateiname.txt (
    copy a:\dateiname.txt b:\
  ) else (
    echo datei nicht vorhanden
  )

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...