Changer de nom et de place
philton5000
Messages postés
119
Statut
Membre
-
philton5000 Messages postés 119 Statut Membre -
philton5000 Messages postés 119 Statut Membre -
Bonjour,
Je voudrais faire un bat qui change le nom du fichier selon la date d'exécution du bat et aussi de le déplacer dans un autre fichier. Merci de bien vouloir m'aider.
Je voudrais faire un bat qui change le nom du fichier selon la date d'exécution du bat et aussi de le déplacer dans un autre fichier. Merci de bien vouloir m'aider.
2 réponses
-
Bonjour,
Tu poses des questions... mais je n'ai pas l'impression que tu cherches vraiment avant.......
Enfin bon..
un truc du genre :@echo off for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a set YYYY=%dt:~0,4% set MM=%dt:~4,2% set DD=%dt:~6,2% set HH=%dt:~8,2% set Min=%dt:~10,2% set Sec=%dt:~12,2% set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec% copy "c:\repertoire\ton_fichier.son_extension" "c:\autreRepertoire\ton_fichier - %stamp%.son_extension"
-
Bonjour,
Je suis d'accord avec Jordane, tu ne te casses pas beaucoup la tête.
Je suppose que ta demande a un rapport avec les photos prises par webcam.
Voilà donc un script qui prend une rafale de (5) photos puis les déplace/renomme vers un dossier de destination :
@echo off
Mode con cols=50 lines=25
Title Webcam
setlocal enableextensions enabledelayedexpansion
color 0A
:: ---------------------------
:: debut du programme
:: ---------------------------
set jour=!date:~6,4!!date:~3,2!!date:~0,2!
set heure=!time:~0,2!h!time:~3,2!m!time:~6,2!s
set source=le chemin vers le dossier qui contient CommandCam.exe
set destination=%USERPROFILE%\Desktop\backup
if not exist "%source%\CommandCam.exe" (exit /b 1)
cd /d %source% || exit /b 1
del /f /q "*.bmp" >nul 2>&1
for /L %%A in (1,1,5) do (
set num=000%%A
set num=!num:~-4!
echo. & echo photo %%A : en cours de prise ...
CommandCam /filename face!num!.bmp /delay 3000 /quiet
cls
)
call :deplacement "%destination%" "!jour!_!heure!"
exit /b 0
:: ---------------------------
:: fin du programme
:: ---------------------------
:: ---------------------------
:: debut de la fonction
:: ---------------------------
:deplacement
set index=0
if not exist "%~1\%~2" (mkdir "%~1\%~2")
for /f "delims=" %%A in ('2^>nul dir /b /a-d ^| find ".bmp"') do (
set /a index+=1
set ref=000!index!
set ref=!ref:~-4!
echo. & echo ==^>^> %~2#!ref!%%~xA
>nul move "%%~fA" "%~1\%~2\%~2#!ref!%%~xA"
)
goto :eof
:: ---------------------------
:: fin de la fonction
:: ---------------------------
Tu as juste besoin de modifier les parties soulignées.
-
-
-
-
Si tu comprends le reste c'est déjà bien.
Je vais essayer d'expliquer :
%1 et %2 correspondent aux paramètres que l'on envoie à la fonction, dans ce cas précis :
%1 est égal à la variable "%destination%"
%2 est égal à la variable "!jour!_!heure!"
L'utilité d'une fonction c'est d'éviter plusieurs lignes de code qui se répètent, un peu comme une boucle FOR. A chaque fois qu'on a besoin de ces lignes de code on appelle (CALL) la fonction. -
-