watchdogg
Goto Top

Kopieren nur loggen, wenn Datei auch vorhanden

Hallo Leute,

ich habe ein kleines Kopier Batch geschrieben, das mir den Kopiervorgang loggt:

for %%u in (SEU PRI KOC) do (
echo ------------------------------------------------------------------------------------------------- >> %log%
copy /y "f:\daten\users\%%u\Eigene Dateien\bla\01_*.*" %dest01% >> %log%
copy /y "f:\daten\users\%%u\Eigene Dateien\bla\02_*.*" %dest02% >> %log%
copy /y "f:\daten\users\%%u\Eigene Dateien\bla\03_*.*" %dest03% >> %log%
)

Nur leider loggt er mir auch, wenn er keine entsprechenden Dateien gefunden hat und das bläht die Logdatei natürlich unnötig auf.
Siehe Auszug:

Mi 17.08.2011 10:34:32

f:\daten\users\SEU\Eigene Dateien\Controlling\01_djfi.doc
1 Datei(en) kopiert.
f:\daten\users\SEU\Eigene Dateien\bla\02_södlsö.xls
f:\daten\users\SEU\Eigene Dateien\bla\02_hcjd.doc
f:\daten\users\SEU\Eigene Dateien\bla\02_ijdifhdf.xls
f:\daten\users\SEU\Eigene Dateien\bla\02_kldkfldf.txt
f:\daten\users\SEU\Eigene Dateien\bla\02_rtort.xls
5 Datei(en) kopiert.
f:\daten\users\SEU\Eigene Dateien\bla\03_sdh.xls
1 Datei(en) kopiert.

f:\daten\users\PRI\Eigene Dateien\bla\01_*.*
0 Datei(en) kopiert.
f:\daten\users\PRI\Eigene Dateien\bla\02_*.*
0 Datei(en) kopiert.
f:\daten\users\PRI\Eigene Dateien\bla\03_*.*
0 Datei(en) kopiert.

f:\daten\users\KOC\Eigene Dateien\bla\01_*.*
0 Datei(en) kopiert.
f:\daten\users\KOC\Eigene Dateien\bla\02_*.*
0 Datei(en) kopiert.
f:\daten\users\KOC\Eigene Dateien\bla\03_*.*
0 Datei(en) kopiert.


Wie kann ich das in der for-Schleife mit if exist ... realisieren, dass er mir nur loggt, wenn er entsprechende Dateien gefunden hat?


Vielen Dank, watchdogg...

Content-Key: 171614

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

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: bastla
bastla 17.08.2011 um 11:38:44 Uhr
Goto Top
Hallo watchdogg!

Etwa so:
if exist "f:\daten\users\%%u\Eigene Dateien\bla\01_*.*" copy "f:\daten\users\%%u\Eigene Dateien\bla\01_*.*" %dest01% >> %log%
Grüße
bastla

P.S.: Ein "copy" in einem Batch überschreibt ohne Rückfrage, auch wenn "/y" nicht angegeben ist ...
Mitglied: watchdogg
watchdogg 17.08.2011 um 14:25:49 Uhr
Goto Top
Ja natürlich bastla,

hatte ich vorhin schon so gemacht, hatte aber die Schreibrechte im Ziel nicht berücksichtigt.

Deshalb Kein Kopieren --> Kein Log

Bin vorhin fast verzweifelt...!

Dein Post hat mir aber versichert, dass es so richtig sein muss. Da bin ich der Sache nochmal auf den Grund gegangen.

Vielen Dank, bastla!