Windows:BatScripte: Unterschied zwischen den Versionen

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

Version vom 17. Februar 2014, 12:51 Uhr

@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