[BATCH] Recherche dans un nom de fichier et info

Résolu/Fermé
clemvarois - 11 janv. 2021 à 09:18
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 11 janv. 2021 à 13:07
Bonjour,

je me permets de poster ici pour vous demander de l'aide.

Apres avoir parcouru beaucoup de forum je cherche un petit programme en batch qui me simplifierait grandement la vie.

j'ai une grande quantité de fichier (plusieurs milliers) avec des noms de 7 caractères comme ci-dessous:

GT590FE
SI961DP
FY876VB

les doublons sont suivis de (x) selon le nombre de doublons. Ex=GT590FE(1)


J'aimerais un .bat qui me permette de faire une recherche dans le nom, et qui m'affiche les lignes en dessous la date et l'heure de la création du fichier ainsi que le répertoire de ce dernier.

Jen connait très peu a la programmation mais je m'en intéresse grandement.

J'ai déjà trouvé ce code sur ce forum qui me donne une piste mais j'ai pas les connaissances pour le complété:

@echo off

echo.
echo ---------------------------------
set /p date=Entrez la 1ere date :
echo ---------------------------------
echo.

for /f "tokens=1,2,3 delims=_" %%i in ('dir /B *%date%*') do (
echo Nom du fichier: %%i_%%j_%%k
echo Date 1 : %%j
echo Date 2 : %%k
echo.
)

pause


Merci d'avance pour votre aide !


Configuration: Windows / Chrome 87.0.4280.88
A voir également:

2 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 11 janv. 2021 à 13:05
Voilà la solution :

@echo off
setlocal enableextensions disabledelayedexpansion
ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul

echo.
echo ---------------------------------
set /p jour="Entrez la 1ere date : "
echo ---------------------------------
echo.

set "dossier=# %jour:/=-%"
if not exist "%dossier%" (mkdir "%dossier%")

for /f "tokens=1-3* delims= " %%A in ('dir /tc /a-d ^| find "%jour%"') do (

echo Nom du fichier: %%~D
echo Date de création : %%~A à %%~B
echo Chemin : %%~dpD
echo.

copy "%%~fD" "%dossier%" >nul

)

pause


1
Au top !

Ca fonctionne et c'est exactement ce que je voulais,

Merci ;)
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > clemvarois
11 janv. 2021 à 13:07
De rien, tant mieux alors.
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 11 janv. 2021 à 10:32
Bonjour,

Essaie comme ça :

@echo off
ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul

echo.
echo ---------------------------------
set /p jour="Entrez la 1ere date : "
echo ---------------------------------
echo.

for /f "tokens=1-4 delims= " %%A in ('dir /tc /a-d ^| find "%jour%"') do (
echo Nom du fichier: %%~D
echo Date de création : %%~A à %%~B
echo Chemin : %%~dpD
echo.
)

pause



0
Merci !

Ce petit programme va déjà beaucoup m'aider , cependant je me demande si c'est possible de récupérer les fichiers (Photos) qui sortent du résultat et de les copier (oui ou non) dans un dossier crée au même moment ?

En tout cas merci pour la rapidité !
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > clemvarois
11 janv. 2021 à 11:25
Oui c'est possible, c'est pas très compliqué je te laisse une chance de trouver par toi-même ;)
0