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

Fermé
sam - 15 nov. 2012 à 15:50
 sam44 - 21 nov. 2012 à 10:07
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
A voir également:

7 réponses

dubcek Messages postés 18719 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 mai 2024 5 615
Modifié par dubcek le 15/11/2012 à 16:01
hello
un début de réponse
C:> set JMA=%date:~0,2%%date:~3,2%%date:~6,4% 
C:> echo %JMA% 
15112012 

0
Oui merci pour la date ça fonctionne
0
dubcek Messages postés 18719 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 mai 2024 5 615
Modifié par dubcek le 15/11/2012 à 16:27
creation du répertoire mkdir ...
pause 10 secondes ping -n 10 127.0.0.1 > NUL
deplacement des donnes move ...
0
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18719 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 mai 2024 5 615
Modifié par dubcek le 16/11/2012 à 13:45
C:> set d=jj/mm/aaaa 
C:> set d=%d:/=% 
C:> echo %d% 
jjmmaaaa 
C:>
0
@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
0
demande terminée
0