- J'ai lu quelque part que toutes les variables devaient être en majuscule, non pas que les minuscules fonctionnent moins bien, mais c'est une norme
- En ligne de commande utilise %. Dans un programme bat, utilise %%
10. Renomme tes photos avec les infos Exif ?
Télécharge les 2 fichiers suivant :
En -
ExifRen - Renommer des photos avec les infos Exif -> DateTime (gratuit)
En -
JHead - Renommer des photos avec les infos Exif -> DateTimeOriginal (gratuit)
puis crée le programme suivant :
ExifRen.exe" *.jpg
jhead.exe" -n%%Y%%m%%d_%%H%%M%%S *.jpg
Le résulats sera du genre 20031012_173440.jpg (date inversée + heure)
ExifRen renomme les photos avec les infos Exif -> DateTime et JHeaf renomme les photos avec les infos Exif -> DateTimeOriginal
je le fais avec 2 programmes différents car j'ai eu des problèmes avec des noms court avec le programme JHead.
Si tu trouves une meilleur méthode,
écris-moi, pour la faire partager à tous.
9. Comment récupérer le jour, le mois, l'année, l'heure et la minute dans des variables différentes
Si tu as Windows NT, 2000 ou XP :
Prérequis : Il faut adapter ce batch au format de la date qui dépend de la langue de ton ordinateur
Récupérer la date dans les variables %SEMAINE, %JOUR%, %MOIS et %ANNEE%
Le format de la date est "jeu. 05/02/2004"
echo %DATE:~5,2%--%DATE:~8,2%--%DATE:~11,4%
ou
FOR /F "TOKENS=1,2,3,4 DELIMS=./ " %%A IN ('DATE/T') DO (
set SEMAINE=%%A
set JOUR=%%B
set MOIS=%%C
set ANNEE=%%D
)
Récupérer l'heure dans les variables %HEURE% et %MINUTE%
Le format de l'heure est "15:24:23,87"
echo %TIME:~0,2%--%TIME:~3,2%--%TIME:~6,2%--%TIME:~9,2%
ou
FOR /F "TOKENS=1,2 DELIMS=:" %%A IN ('TIME/T') DO (
set HEURE=%%A
set MINUTE=%%B
)
Si tu as Windows 9x :
%comspec% /c for %%v in (1 2) do prompt set date$q$d$_ | find/v "$"> Date.txt
%comspec% /c for %%v in (1 2) do prompt set time$q$t$_ | find/v "$"> Heure.txt
Programme :
Pour plus de précision, download le programme XSET sur la page
http://www.hamakers.nl/download.htm, qui permet de récupérer beaucoup de variables sur ton pc, dont la date et l'heure en détails
8. Est-il possible de changer la date du PC, ensuite de lancer un programme et de retrouver la bonne date du jour par la suite ?
Si tu as Windows NT, 2000 ou XP :
Prérequis : Il faut adapter ce batch au format de la date qui dépend de la langue de ton ordinateur
Crée le fichier Change.bat dans lequel tu remplaces"::programme.exe" par le programme que tu veux lancer.
@echo off
FOR /F "TOKENS=2 DELIMS= " %%A IN ('DATE/T') DO echo %%A
echo 09/01/2003>dateold.txt
date < dateold.txt
echo.
echo La date est changée en 09/01/2003 et le programme se lance
::programme.exe
pause
date < datenew.txt
echo.
echo La date est changée en celle du jour et le batch se termine
Si tu as Windows 9x :
Prérequis 1 : Pour ce batch tu as besoin de SrWin qui se trouve dans
PointBat.zip
Prérequis 2 : Respecte les répertoires
Prérequis 3 : Il faut adapter ce batch au format de la date qui dépend de la langue de ton ordinateur
Crée le fichier Change.bat dans le répertoire "C:\Prog" dans lequel tu remplaces "::programme.exe" par le programme que tu veux lancer.
@echo off
%comspec% /c for %%v in (1 2) do prompt $d$_ | find/v "$" | find "/"> "datenew.txt"
Srwcons /D:"C:\Prog" /F:"datenew.txt" /S:"lun. " /R:""
Srwcons /D:"C:\Prog" /F:"datenew.txt" /S:"mar. " /R:""
Srwcons /D:"C:\Prog" /F:"datenew.txt" /S:"mer. " /R:""
Srwcons /D:"C:\Prog" /F:"datenew.txt" /S:"jeu. " /R:""
Srwcons /D:"C:\Prog" /F:"datenew.txt" /S:"ven. " /R:""
Srwcons /D:"C:\Prog" /F:"datenew.txt" /S:"sam. " /R:""
Srwcons /D:"C:\Prog" /F:"datenew.txt" /S:"dim. " /R:""
echo 09/01/2003>dateold.txt
date < dateold.txt
echo.
echo La date est changée en 09/01/2003 et le programme se lance
::programme.exe
pause
date < datenew.txt
echo.
echo La date est changée en celle du jour et le batch se termine
7. Comment faire un batch qui permet de sauvegarder les fichiers *.jpg du répertoire et des sous-répertoires de "C:\Mes Documents" dans le répertoire "C:\PointBat" ?
Si tu as Windows NT, 2000 ou XP :
Crée le fichier "Sauve.bat" qui contient :
xcopy "C:\Mes Documents\*.jpg" "C:\PointBat\*.*" /s
ou
FOR /R "C:\Mes Documents\" %%f IN (*.jpg) DO xcopy "%%f" "C:\PointBat\*.*"
Les fichier *.jpg du répertoire et des sous-répertoire de "C:\Mes Documents" seront copier dans le répertoire "C:\PointBat"
Si tu as Windows 9x :
Prérequis 1 : Pour ce batch tu as besoin de SrWin qui se trouve dans
PointBat.zip
Crée le fichier "Sauve.bat" dans le répertoire "C:\PointBat" (respecte bien le répertoire) qui contient :
dir "C:\Mes Documents" /b/s>"!PointBatTree.txt"
find /i ".jpg"<"!PointBatTree.txt">"!PointBatTree.bat"
>"C:\PointBat\!PointBatSR.cfg" echo #srwin autoconfig file
>>"C:\PointBat\!PointBatSR.cfg" echo #this file was automatically generated by srwin
>>"C:\PointBat\!PointBatSR.cfg" echo #Tuesday, April 13, 1999, 05:25:46 PM
>>"C:\PointBat\!PointBatSR.cfg" echo StartDir=C:\PointBat
>>"C:\PointBat\!PointBatSR.cfg" echo FileType=!PointBatTree.bat
>>"C:\PointBat\!PointBatSR.cfg" echo SearchString=C:\
>>"C:\PointBat\!PointBatSR.cfg" echo ReplaceString=Xcopy "C:\
>>"C:\PointBat\!PointBatSR.cfg" echo ProcessROFiles=1
>>"C:\PointBat\!PointBatSR.cfg" echo Regex=0
>>"C:\PointBat\!PointBatSR.cfg" echo CaseSensitiveSearch=0
>>"C:\PointBat\!PointBatSR.cfg" echo IncludeSubDirs=0
>>"C:\PointBat\!PointBatSR.cfg" echo BackupExt=0
>>"C:\PointBat\!PointBatSR.cfg" echo LogFileName=C:\Pointbat\!PointBatLog.txt.txt
"Srwcons" "C:\PointBat\!PointBatSR.cfg"
>"C:\PointBat\!PointBatSR.cfg" echo #srwin autoconfig file
>>"C:\PointBat\!PointBatSR.cfg" echo #this file was automatically generated by srwin
>>"C:\PointBat\!PointBatSR.cfg" echo #Tuesday, April 13, 1999, 05:25:46 PM
>>"C:\PointBat\!PointBatSR.cfg" echo StartDir=C:\PointBat
>>"C:\PointBat\!PointBatSR.cfg" echo FileType=!PointBatTree.bat
>>"C:\PointBat\!PointBatSR.cfg" echo SearchString=.jpg$
>>"C:\PointBat\!PointBatSR.cfg" echo ReplaceString=.jpg" "C:\PointBat\*.*"
>>"C:\PointBat\!PointBatSR.cfg" echo ProcessROFiles=1
>>"C:\PointBat\!PointBatSR.cfg" echo Regex=1
>>"C:\PointBat\!PointBatSR.cfg" echo CaseSensitiveSearch=0
>>"C:\PointBat\!PointBatSR.cfg" echo IncludeSubDirs=0
>>"C:\PointBat\!PointBatSR.cfg" echo BackupExt=0
>>"C:\PointBat\!PointBatSR.cfg" echo LogFileName=C:\Pointbat\!PointBatLog.txt.txt
"Srwcons" "C:\PointBat\!PointBatSR.cfg"
>"C:\PointBat\!PointBatSR.cfg" echo #srwin autoconfig file
>>"C:\PointBat\!PointBatSR.cfg" echo #this file was automatically generated by srwin
>>"C:\PointBat\!PointBatSR.cfg" echo #Tuesday, April 13, 1999, 05:25:46 PM
>>"C:\PointBat\!PointBatSR.cfg" echo StartDir=C:\PointBat
>>"C:\PointBat\!PointBatSR.cfg" echo FileType=!PointBatTree.bat
>>"C:\PointBat\!PointBatSR.cfg" echo SearchString=.JPG$
>>"C:\PointBat\!PointBatSR.cfg" echo ReplaceString=.JPG" "C:\PointBat\*.*"
>>"C:\PointBat\!PointBatSR.cfg" echo ProcessROFiles=1
>>"C:\PointBat\!PointBatSR.cfg" echo Regex=1
>>"C:\PointBat\!PointBatSR.cfg" echo CaseSensitiveSearch=0
>>"C:\PointBat\!PointBatSR.cfg" echo IncludeSubDirs=0
>>"C:\PointBat\!PointBatSR.cfg" echo BackupExt=0
>>"C:\PointBat\!PointBatSR.cfg" echo LogFileName=C:\Pointbat\!PointBatLog.txt.txt
"Srwcons" "C:\PointBat\!PointBatSR.cfg"
Call "!PointBatTree.bat"
del "!PointBat*.*"
Les fichier *.jpg du répertoire et des sous-répertoire de "C:\Mes Documents" seront copier dans le répertoire "C:\PointBat"
6. Comment créer un fichier batch qui sauvegarde tout les fichiers word, excel et powerpoint ?
La commande pour copier est
xcopy "C:\Fichier\*.xls" "F:\Fichier\*.*"
xcopy "C:\Fichier\*.doc" "F:\Fichier\*.*"
xcopy "C:\Fichier\*.pps" "F:\Fichier\*.*"
Pour plus d'aide sur xcopy tape xcopy /? en ligne de commande
5. Comment lancer plusieurs programmes avec un batch ?
Si tu as Windows NT, 2000 ou XP :
start "a" "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
start "a" "C:\Program Files\Outlook Express\Msimn.exe"
Si tu as Windows 9x :
start "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
start "C:\Program Files\Outlook Express\Msimn.exe"
4. Comment récupérer le résultat de la commande CD dans la variable "MA_VARIABLE"
Si tu as Windows NT, 2000 ou XP :
for /f "tokens=*" %%A in ('cd') do set=%%A
Si tu as Windows 9x :
%comspec% /c for %%v in (1 2) do prompt set var$q$p$_ | find/i "var="> Var.bat
Et tu lances le fichier Var.bat
3. Comment récupérer une valeur dans un fichier .ini avec un batch (var=divers). Puis créer un repertoire au nom de cette valeur (crée "C:\Divers") ?
Prérequis 1 : Pour ce batch tu as besoin de SrWin qui se trouve dans
PointBat.zip
Prérequis 2 : Respecte les répertoires
Crée le fichier "C:\PointBat\Do.bat" qui contient :
echo c:>DoMd.bat
echo cd\>>DoMd.bat
find "Matuti="<"exemple.ini">>DoMd.bat
Srwcons /D:"C:\Pointbat" /F:"DoMd.bat" /S:"Matuti=" /R:"md "
Ensuite lance le fichier "c:\pointbat\DoMd.bat" et c'est ok
2. Comment mettre une réponse d'utilisateur en variable ?
Si tu as Windows NT, 2000 ou XP :
Set /P MYNAME=
Si tu as Windows 9x, Windows NT, 2000 ou XP :
Utilise le fichier Input.exe qui se trouve dans le package de la page
programmes. La variable sera écrite dans c:\INPUT.BAT.
1. Comment mettre en variable le contenu d'un fichier ?
Si tu as Windows NT, 2000 ou XP :
for /F "tokens=*" %%i in (toto.txt) do set LIST=%%i
echo %LIST%
Evidemment, si le fichier toto.txt contient plusieurs ligne, c'est la denière ligne qui sera mise comme variable