stuckrose
Goto Top

Dateien kopieren mit Batch mit vorheriger Abfrage ob Datei schon existiert!

Folgendes Problem

Über ein Task muss alle 5 Minuten eine Datei von einem Server zu einem anderen Server kopiert werden und gleichzeitig die Datei ins Archiv verschoben werden.

Die Batchdatei dafür läuft soweit. Es soll jedoch noch geprüft werden ob die Datei schon existiert. Damit der Upload ins ERP nicht doppelt erfolgt.

Jetzt meine Frage: Wie muss ich meien Batch datei erweitern, damit diese Abfrage vorher durchgeführt wird.
Problem noch Dateinamen ist nicht immer der gleich, kann aber nachgeschaut werden, weil ja wenn schon vorhanden die Datei im Archivordner liegt.

Hoff dass das jetzt jeder verstanden hat. Hier meine batchdatei:


echo Hier wird erstmal eine Kopie ins Archiv kopiert
xcopy \\xxxxxx\*.* \\xxxxxxx\*.*

echo Hier wird die Datei von EQ auf ERP Server verschoben
xcopy /Y \\xxx\*.* \\xxxxxxx\*.*

echo Dateien werden geloescht
del \\xxxxxxxxx\*.* /Q
echo .
Kommentar vom Moderator Biber am 02.09.2010 um 13:06:07 Uhr
Beitrag verschoben von "Visual Basic, VBA und NET" nach "Batch & Shell"

Aber: Ich habe mit mir gerungen. Normalerweise gehört so ein Schnodder eines ganz neuen Nutznießers
  • ohne Anrede und Gruss
  • ohne Formatierung
  • im falschen Bereich
  • mit einer Frage, auf die jede Suchmaschine 4,5 Mio Antworten ausspuckt
...sofort auf den Kompost.

Content-Key: 150195

Url: https://administrator.de/contentid/150195

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: mic.we
mic.we 02.09.2010 um 12:46:01 Uhr
Goto Top
Hi,

if EXIST [Datei] [Befehl/ GOTO Label]

mit diesem Befehl kannst Du prüfen ob die Datei existiert.


greetings
Mitglied: stuckrose
stuckrose 02.09.2010 um 13:02:51 Uhr
Goto Top
Hi,

danke soweit mal, aber verstanden hab ich nur Bahnhof face-confused
Mitglied: mic.we
mic.we 02.09.2010 um 13:57:49 Uhr
Goto Top
was verstehhst du denn nicht?

der Befehl lautet if EXIST
dann gibst du danach den Namen der Datei an, die du auf vorhanden sein prüfen willst.

die eckigen Klammern im Beispiel oben sagen aus, dass es optionale angaben sind, können angegeben werden müssen aber nicht.
Mitglied: stuckrose
stuckrose 06.09.2010 um 11:10:35 Uhr
Goto Top
mit dem IF exist ist klar! Aber dadurch dass der Dateinamen immer unterschiedlich ist, kann ich dem nicht fix einen Dateinamen zur Abfrage geben!

Ich denk mal goto LABEL ist das Sprungbrett zur Stelle, wass der dann machen soll, wenn die Bedingung stimmt.
Mitglied: mic.we
mic.we 06.09.2010 um 11:44:02 Uhr
Goto Top
Zitat von @stuckrose:

Aber dadurch dass der Dateinamen immer unterschiedlich ist, kann ich dem nicht fix einen Dateinamen zur Abfrage geben!

Gibt es denn irgend ein Muster, das auf die Dateinamen anwendbar wäre?

Ich denk mal goto LABEL ist das Sprungbrett zur Stelle, wass der dann machen soll, wenn die Bedingung stimmt.

das ist richtig

goto LABEL ist der Srungbefehl

:LABEL ist die Sprungmarke, wo Du dann hinspringst (wichtig ist der Doppelpunkt vor LABEL)
Mitglied: BigWim
BigWim 06.09.2010, aktualisiert am 18.10.2012 um 18:43:22 Uhr
Goto Top
Vom Prinzip her mußt Du die Dateien einzeln anhand einer Liste kopieren. Das könnte mit einer For /F - Schleife gehen. Wenn Du die Suche benutzt, wirst Du sicherlich einige Spiele finden. Robocopy ist auch ein Stichwort dafür ...

Aberr vielleicht hilft das hier auch schon weiter: Kopieren eines Ordners auf bestimmte Rechner - Namen der Rechner aus Datei auslesen


Markus