Script .bat création si n'existe pas + copie données

Bonjour,

J'aimerai faire un fichier .bat qui regarderait la date et si elle existe en forme de dossier dans un répertoire sur un lecteur réseau. Si oui ne rien faire sinon, création du dossier, puis copie des données se trouvant le répertoire ver les nouveau répertoire contenantla date.

Voici mon .bat :
@echo off

echo %date% (c'est à chaque fois un lundi)

set date=%DATE:/=% (date sous forme 12112012 jjmmaaaa)

set rep1=\\10.9.0.x\donnees\extraction_windows\date
set rep2=\\10.9.0.x\donnees\extraction_unix\date
set rep3=\\10.9.0.x\donnees\extraction_wmware\date

if %rep1 exist go to FIN
else
creation du répertoire \\10.9.0.x\donnees\extraction_windows\date
pause 10 secondes
deplacement des donnees de \\10.9.0.x\donnees\extraction_windows\courant vers \\10.9.0.x\donnees\extraction_windows\date
fi

if %rep2 exist go to FIN
else
creation du répertoire \\10.9.0.x\donnees\extraction_unix\date
pause 10 secondes
deplacement des donnes de \\10.9.0.x\donnees\extraction_unix\courant vers \\10.9.0.x\donnees\extraction_unix\date
fi

if %rep3 exist go to FIN
else
creation du répertoire \\10.9.0.x\donnees\extraction_wmware\date
pause 10 secondes
deplacement des donnes de \\10.9.0.x\donnees\extraction_wmware\courant vers \\10.9.0.x\donnees\extraction_wmware\date
fi

:FIN

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    hello
    un début de réponse
    C:> set JMA=%date:~0,2%%date:~3,2%%date:~6,4% 
    C:> echo %JMA% 
    15112012 
    
    
    1. Contributeur
      creation du répertoire mkdir ...
      pause 10 secondes ping -n 10 127.0.0.1 > NUL
      deplacement des donnes move ...
      1. vérifie qua dans le répertoire il y a des fichiers .csv :
        forfiles /M *.csv /D -0 /C "cmd /c echo @fdate"

        Il fadrait que je récupère une des dates retournées et que je la transforme de "jj/mm/aaaa" en "jjmmaaaa"

        puis verifier si le répertoire avec jjmmaaaa existe si oui rien faire
        si non création du répertoire
        1. Contributeur
          C:> set d=jj/mm/aaaa 
          C:> set d=%d:/=% 
          C:> echo %d% 
          jjmmaaaa 
          C:>
          1. @echo off
            REM parametres
            set letter=M:
            set repert=\****
            repert=\****

            REM positionnement dans le bon repertoire
            %letter%
            cd %repert%
            if errorlevel 1 goto :fail

            call :function 1 11
            call :function 2 22
            call :function 3 33
            goto :fin

            REM ------------ debut de fonction
            :function
            set param=%1%
            set file=%2%

            REM file date
            set m=%param%\%file%.doc

            if not exist %m% goto :skip

            REM return date file
            for %%i in (%m%) do set dd=%%~ti%

            REM define name of directory
            set n=%dd:~6,4%%dd:~3,2%%dd:~0,2%

            REM rename and crate directory
            if exist %param%\%n% (
            echo exist(%param%)
            ) else (
            echo Continue (%param%)
            move %param% %param%\%n%
            mkdir %param%
            )

            exit /B 0
            :skip
            echo WARN empty (%param%)
            exit /B 2
            REM ------------ end of function

            echo ERR on ne doit pas passer la

            REM ------------ end of program
            :fail
            echo ERR %letter%%repert% not exist

            :fin
            echo It's finish