Windows:BatScripte

Aus Alexander's Wiki
@echo off
if %2. == . (
  echo Nicht genug Parameter.
  echo Aufruf:   %~n0 ^<Quelle^> ^<Ziel^> [Maske]
  echo Beispiel: %~n0 c:\Bilder d:\Backup *.jpg
  echo Kopiert alle *.jpg-Dateien aus c:\Bilder und Unterordnern "flach"
  echo nach d:\Backup. Ist [Maske] nicht angegeben, werden alle Dateien
  echo kopiert.
  exit /b
)

setlocal
set quellwurzel=%~f1
set ziel=%~f2
set maske=%3
if %maske%. == . set maske=*
  echo Kopiere %maske% von %quellwurzel% nach %ziel% ...

for /f "tokens=*" %%f in ('dir /b /s "%quellwurzel%\%maske%"') do (
   xcopy /h /i /c /k /d /y "%%f" "%ziel%" | find /v "Datei(en) kopiert"
)

dir /s "%quellwurzel%\%maske%" > %~n0.log