Listing dossier/sous-dossier bien spécifique
Fermé
RomantikA-
Messages postés
82
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
28 novembre 2019
-
Modifié le 7 juin 2019 à 03:52
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 3 juil. 2019 à 20:04
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 3 juil. 2019 à 20:04
A voir également:
- Listing dossier/sous-dossier bien spécifique
- Dossier appdata - Guide
- Mettre un mot de passe sur un dossier - Guide
- Dossier rar - Guide
- Dossier démarrage - Guide
- Impossible de supprimer un dossier - Guide
4 réponses
NHenry
Messages postés
15175
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 décembre 2024
350
7 juin 2019 à 18:13
7 juin 2019 à 18:13
Les , et ÿ sont dû à un encodage incorrecte de ta sortie, il remplacent respectivement un é et un espace insécable.
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
Modifié le 7 juin 2019 à 19:34
Modifié le 7 juin 2019 à 19:34
Bonjour,
Ca devrait ressembler à quelque chose comme ça :
Ca devrait ressembler à quelque chose comme ça :
@echo off
setlocal enableextensions
chcp 1252 >nul
for /f "delims=" %%A in ('dir /b /s "%USERPROFILE%\Desktop\DOSS_PHOTOS"') do (
echo %%A >> fichier.txt
if "%%~xA"==".JPG" (ren "%%~A" "%%~nA.jpg")
)
notepad fichier.txt
RomantikA-
Messages postés
82
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
28 novembre 2019
8
7 juin 2019 à 20:35
7 juin 2019 à 20:35
heu...
en fait ce que je cherche à faire depuis quelques jours, c'est "simplement" un truc du genre
Répertoire principal C:\users\Moi\Bureau\DOSS_Photos
Sous dossier C:\users\Moi\Bureau\DOSS_Photos\Photos_début
Doc1.txt
IMG_0001.jpg
IMG_0002.jpg
IMG_0003.jpg
IMG_0004.jpg
IMG_0005.jpg
IMG_0006.jpg
6 fichier(s) photos 660 octets
Sous dossier C:\users\Moi\Bureau\DOSS_Photos\RAWPhotos_début
IMG_0001.CR2
IMG_0002.CR2
IMG_0003.CR2
IMG_0004.CR2
IMG_0005.CR2
IMG_0006.CR2
6 fichier(s) RAW 13660 octets
Total des fichiers photos dans DOSS_Photos :
12 fichier(s) 14320 octets
-----------
un peut comme sur l'image présenté plus haut. est-ce possible à faire déjà ?
en fait ce que je cherche à faire depuis quelques jours, c'est "simplement" un truc du genre
Répertoire principal C:\users\Moi\Bureau\DOSS_Photos
Sous dossier C:\users\Moi\Bureau\DOSS_Photos\Photos_début
Doc1.txt
IMG_0001.jpg
IMG_0002.jpg
IMG_0003.jpg
IMG_0004.jpg
IMG_0005.jpg
IMG_0006.jpg
6 fichier(s) photos 660 octets
Sous dossier C:\users\Moi\Bureau\DOSS_Photos\RAWPhotos_début
IMG_0001.CR2
IMG_0002.CR2
IMG_0003.CR2
IMG_0004.CR2
IMG_0005.CR2
IMG_0006.CR2
6 fichier(s) RAW 13660 octets
Total des fichiers photos dans DOSS_Photos :
12 fichier(s) 14320 octets
-----------
un peut comme sur l'image présenté plus haut. est-ce possible à faire déjà ?
RomantikA-
Messages postés
82
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
28 novembre 2019
8
Modifié le 7 juin 2019 à 20:45
Modifié le 7 juin 2019 à 20:45
p.s.: pour le même résultat j'avais bien déjà essayé le code suivant :
Mais c'est pas le but recherché. :s
ha! tiens! bizarre, maintenant mon fichier qui se crée à un problème d'accent… ce qui n'était pas le cas avant :s
Pfff! jcomence à chauffer là :(
@ echo off
chcp 1252 >nul
rename *.JPG *.jpg
dir /B /s "C:\users\Moi\Bureau\DOSS_Photos" > résultat_SCRIPT4.txt
Mais c'est pas le but recherché. :s
ha! tiens! bizarre, maintenant mon fichier qui se crée à un problème d'accent… ce qui n'était pas le cas avant :s
Pfff! jcomence à chauffer là :(
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
>
RomantikA-
Messages postés
82
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
28 novembre 2019
7 juin 2019 à 21:09
7 juin 2019 à 21:09
J'avoue que j'ai du mal à comprendre le but recherché, mis à part le renommage des JPG en jpg.
Je croyais que tu voulais un listing, si tu veux un listing "aéré" comme tu le montres dans tes messages, il suffit d'enlever le commutateur /b de la commande DIR
Concernant les accents, tu peux aussi essayer chcp 28591 >nul
Je croyais que tu voulais un listing, si tu veux un listing "aéré" comme tu le montres dans tes messages, il suffit d'enlever le commutateur /b de la commande DIR
Concernant les accents, tu peux aussi essayer chcp 28591 >nul
RomantikA-
Messages postés
82
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
28 novembre 2019
8
7 juin 2019 à 22:26
7 juin 2019 à 22:26
Coucou. En effet je veux un listing. :)
le commutateur B me sert à épurer le contenu (peut être un peut trop oui).
Sans le /B, c'est à quelques choses prêt le résultat recherché, sauf qu'il y a des infos que je ne veux pas :
les 2 premières lignes, les dates et heures. et la taille de chaque fichier. Dans l'idéal j'aurais aimé modifier légèrement la présentation, car pour 3 fichiers de test ça va, mais pour 4 To de fichiers, ça va être illisible et trop encombré. Ce qui, dans ma vision, se rapproche de l'image que j'ai publié.
-
Les accents sont correctement "modifiés" dans le document, c'est sur le nom du fichier que ça ne fonctionne plus. :/
pour le coup avec 252 ou 28591, ça ne change rien. :s
le commutateur B me sert à épurer le contenu (peut être un peut trop oui).
Sans le /B, c'est à quelques choses prêt le résultat recherché, sauf qu'il y a des infos que je ne veux pas :
les 2 premières lignes, les dates et heures. et la taille de chaque fichier. Dans l'idéal j'aurais aimé modifier légèrement la présentation, car pour 3 fichiers de test ça va, mais pour 4 To de fichiers, ça va être illisible et trop encombré. Ce qui, dans ma vision, se rapproche de l'image que j'ai publié.
-
Les accents sont correctement "modifiés" dans le document, c'est sur le nom du fichier que ça ne fonctionne plus. :/
pour le coup avec 252 ou 28591, ça ne change rien. :s
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
>
RomantikA-
Messages postés
82
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
28 novembre 2019
Modifié le 7 juin 2019 à 23:35
Modifié le 7 juin 2019 à 23:35
On va supprimer les lignes inutiles :
Est-ce que ça te convient ?
Il reste encore à supprimer la date et l'heure.
dir /s "C:\users\Moi\Bureau\DOSS_Photos" | findstr /v "volume octets" > resultat_SCRIPT4.txt
Est-ce que ça te convient ?
Il reste encore à supprimer la date et l'heure.
RomantikA-
Messages postés
82
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
28 novembre 2019
8
Modifié le 18 juin 2019 à 04:46
Modifié le 18 juin 2019 à 04:46
Bonjour… bon, j'ai essayé…
ça n'a pas été facile du tout pour un novice, mais après de longue recherches et beaucoup de lecture et énormément d'essais infructueux, j'ai réussi à me bricoler un truc…
le problème est que c'est justement seulement un "truc" de novice.
Et il y a surement beaucoup d'erreur. Et il me semble bien qu'il y a aussi des trucs pas trop logiques, mais qui fonctionnent à peut-prêt. Et puis il y a aussi des trucs que je n'ai jamais réussi à faire fonctionner malgré le temps et les tentatives d'essais décevantes.
Donc si un connaisseur à un petit peut de temps à perdre en m'accordant l'honneur de sa correction, je lui en serais très reconnaissant. :)
--
EDIT : heu… désolé pour les pavés :s je ne pensé pas que c'était si long. Désolé pour la présentation médiocre, j'ai fait de mon mieux pour que ce soit plus compréhensible...
--
Premièrement, voila mon plan:
Voici donc mon doc BAT pour la "Création album photos (avec sous-dossiers)"à priori ça c'est bon.
Ensuite viens le bat du script : Script_Listing.bat
Et enfin un aperçu du résultat désiré :
Désolé pour la mise en page (les alinéas) qui ont foiré sur le résultat désiré. du coup ça sert un peut à rien… :s
ça n'a pas été facile du tout pour un novice, mais après de longue recherches et beaucoup de lecture et énormément d'essais infructueux, j'ai réussi à me bricoler un truc…
le problème est que c'est justement seulement un "truc" de novice.
Et il y a surement beaucoup d'erreur. Et il me semble bien qu'il y a aussi des trucs pas trop logiques, mais qui fonctionnent à peut-prêt. Et puis il y a aussi des trucs que je n'ai jamais réussi à faire fonctionner malgré le temps et les tentatives d'essais décevantes.
Donc si un connaisseur à un petit peut de temps à perdre en m'accordant l'honneur de sa correction, je lui en serais très reconnaissant. :)
--
EDIT : heu… désolé pour les pavés :s je ne pensé pas que c'était si long. Désolé pour la présentation médiocre, j'ai fait de mon mieux pour que ce soit plus compréhensible...
--
Premièrement, voila mon plan:
Création de l'album :
sur disque d'archivage, créer (pour la première utilisation seulement) le document .BAT intitulé "Création album photos (avec sous-dossiers)"
(c'est ce script qui servira à créer les albums photos lorsque ce sera nécessaire.)
chemin complet: D:\Mes photos\Albums_photos ...
- Exécuter le script précédemment mentionné.
le code :
L' "Album_photos" est alors créé avec l'arborescence suivante :
- Album_photos
---- JPG
---- RAW
---- retouches&montage
-------- montage
-------- retouches
détails des dossiers :
Album_photos : contient le script de listing "Script_Listing.bat" et le résultat du script "Résultat_Listing.txt". Pourrait aussi contenir d'autres documents…
JPG : contient principalement les fichiers photos en .jpg et peut aussi contenir par erreur des documents
RAW .CR2
RAW: contient principalement des documents RAW .CR2 et peut aussi contenir par erreur des fichiers photos en .jpg
retouches&montage : les sous-dossiers peuvent contenir principalement des .jpg, peut-être des .CR2 et surtout des documents .tng, . pfi, .psd, .Ai et des .png, docx
pour "montage" : .tng, . pfi, .psd, .Ai, .png, docx, .jpg, .CR2
pour "retouches" : .jpg, .CR2, . pfi, . psd
Voici donc mon doc BAT pour la "Création album photos (avec sous-dossiers)"à priori ça c'est bon.
@echo off
chcp 1252 >nul
echo.
echo.
echo.
set /p name= . Intitulé de l'album photos à créer :
rem Amélioration à faire pour la création du nom, pour poser les questions 'année', 'moi', '(jour)' ['Département', 'ville'] 'intitulé'
rem Les albums photos sont intitulés sur ce modèle : 2019, 06 (le 17) [BRETAGNE, Erquy] Photos des mariés n°52 sur les falaises
md "%name%"
cd %name%
md JPG
md RAW
md retouches"&montage\montage
md retouches"&montage\retouches
Ensuite viens le bat du script : Script_Listing.bat
@ echo off
chcp 1252 >nul
rename *.JPG *.jpg
rem voir si le "rename" fonctionne aussi pour les sous-dossiers... à priori non. Fonctionne que dans le dossier principal "%CD%" ... à modifier! surtout pour dossier %cd%\JPG
rem --------------------------------------------- début script ---------------------------------------------
(echo.
for /f "tokens=*" %%i in ("%CD%") do echo Nom de l'album Photos : '%%~ni'
rem A afficher la taille du dossier DOSS_PHOTOS, convertir en Mo si possible. Pas réussi.
rem ne comptabiliser que les JPG, CR2 pour le calcul de la taille du dossier
echo.
for /f "tokens=*" %%i in ("%CD%") do echo Chemin d'accès : '%%~i'
echo.
echo.
echo ------------
rem ! compter le nombre de fichiers if not exist "%CD%\*.*" (echo ^(0 fichier^)) else for /f %%i in ('dir "%CD%" /a:-d ^| find "fichier"') do echo ^(%%i fichiers^) fonctionne pas comme prévu .
rem ! à ajouter en début de la prochaine commande.
echo.
for /f "tokens=*" %%i in ("%CD%") do echo Documents présents dans dossier '%%~ni' :
echo.
if not exist "%CD%\*.*" (echo aucun fichier supplémentaire ) else (dir /b /a-d "%CD%" | findstr /m /v /i /c:".*")
rem A FAIRE : !! si il existe dans le dossier principal %CD% des fichiers autre que Script_Listing.bat et Résultat_Listing.txt, il faut les afficher, sinon marquer "aucun". Mais pas réussi à faire !
rem ajouter la commande pour savoir combien il y a de fichiers, avec condition idem que dessus. Mais pas réussi à utiliser la commande comme celle que j'utilise dans une autre partie. à priori conflit possible...
rem A FAIRE : !! A mettre des espaces, ou alinéas, devant la liste des fichiers pour les aligner à peut-pret sous le f de "Dossier fichiers", mais pas réussi
echo.
echo.
echo -------------------------
rem ------------------ PARAGRAPHE " Dossier Photos JPG " : ------------------
for /f "tokens=*" %%i in ("%CD%\JPG") do echo|set /p= . Dossier Photos '%%~ni' & if not exist "%CD%\JPG\*.jpg" (echo ^(0 fichier^)) else for /f %%i in ('dir "%CD%\JPG" /a:-d ^| find "fichier"') do echo ^(%%i fichiers^) !ajouter poids!
rem A FAIRE : !! A afficher la taille du dossier, à la suite du nombre de fichiers dispo, mais pas trouvé
rem A FAIRE : !! A mettre des espaces, ou alinéas, devant la liste des fichiers pour les aligner à peut-pret sous le P de "Dossier Photos", mais pas réussi
rem sauvegarde commande : première commande toute simple utilisée, avant remplacement pour conditions : dir /b "%CD%\RAW\*.CR2"
echo.
if not exist "%CD%\JPG\*.jpg" (echo /!\ aucun .jpg n'est archivé dans ce dossier) else (dir /b /a-d "%CD%\JPG" | findstr /m /v /i /c:".CR2")
rem sauvegarde commande : autre commande possible, mais n'indique pas "aucun" : dir /B "%CD%\JPG\*.jpg"
echo.
echo.
for /f "tokens=*" %%i in ("%CD%\JPG") do echo|set /p= & for /f %%i in ('dir "%CD%\JPG\*.CR2" /a:-d ^| find "fichier"') do echo ^(%%i^) documents mal placés :
rem A FAIRE : !! mettre une condition: si moins de 1, mettre "documents mal placés" au singulier...sinon mettre au pluriel. mais pas trouvé comment faire.
rem A FAIRE : !! A ajouter un saut de ligne entre "documents mal placés" et la liste des docs, mais pas trouvé comment ajouter espaces sans planter la mise en page sur les deux conditions...
if not exist "%CD%\JPG\*.CR2" (echo documents mal placés : & echo aucun) else (dir /b /a-d "%CD%\JPG" | findstr /m /v /i /c:".jpg")
rem A FAIRE : !! A ajouter un saut de ligne entre "documents mal placés" et la liste des docs, mais pas trouvé sans tout foirer avec la première ligne de condition plus haut
rem A FAIRE : !! A mettre des espaces, ou alinéas, devant la liste des fichiers pour les aligner à peut-pret sous le m de "documents mal placés".
rem !!!!!! afficher sur partie 'documents mal placés' TOUT ce qui n'est pas du .jpg... et ce qui n'est pas un dossier bien sur...
rem sauvegarde commande : 1ère commande toute simple utilisée, avant remplacement pour conditions "documents mal placés" : dir /b /a-d "%CD%\CR2" | findstr /m /v /i /c:".CR2"
echo.
echo.
echo ----------------------
rem ------------------ PARAGRAPHE " Dossier fichiers RAW " : ------------------
for /f "tokens=*" %%i in ("%CD%\RAW") do echo|set /p= . Dossier fichiers '%%~ni' & if not exist "%CD%\RAW\*.CR2" (echo ^(0 fichier^)) else for /f %%i in ('dir "%CD%\RAW" /a:-d ^| find "fichier"') do echo ^(%%i fichiers^) !ajouter poids!
rem A FAIRE : !! A afficher la taille du dossier, à la suite du nombre de fichiers dispo, mais pas trouvé
rem A FAIRE : !! A mettre des espaces, ou alinéas, devant la liste des fichiers pour les aligner à peut-pret sous le f de "Dossier fichiers", mais pas réussi
echo.
if not exist "%CD%\RAW\*.CR2" (echo /!\ aucun .CR2 n'est archivé dans ce dossier) else (dir /b /a-d "%CD%\RAW" | findstr /m /v /i /c:".jpg")
echo.
echo.
for /f "tokens=*" %%i in ("%CD%\RAW") do echo|set /p= & for /f %%i in ('dir "%CD%\RAW\*.jpg" /a:-d ^| find "fichier"') do echo ^(%%i^) documents mal placés :
rem A FAIRE : !! mettre une condition: si moins de 1, mettre "documents mal placés" au singulier...sinon mettre pluriel. mais pas trouvé.
rem A FAIRE : !! A ajouter un saut de ligne entre "documents mal placés" et la liste des docs, mais pas trouvé comment faire, comme celle du paragraphe précédent.
if not exist "%CD%\RAW\*.jpg" (echo documents mal placés : & echo aucun) else (dir /b /a-d "%CD%\RAW" | findstr /m /v /i /c:".cr2")
rem A FAIRE : !! A ajouter un saut de ligne entre "documents mal placés" et la liste des docs, mais pas trouvé pour que la liste des fichiers du else ait aussi un saut de ligne
rem A FAIRE : !! A mettre des espaces, ou alinéas, devant la liste des fichiers pour les aligner à peut-pret sous le f de "Dossier fichiers", mais pas réussi
rem !!!!!! afficher sur partie 'documents mal placés' TOUT ce qui n'est pas du .CR2 et ce qui n'est pas un dossier bien sur...
echo.
echo.
echo ----------------------
rem ------------------ PARAGRAPHE '' Retouches et Montages '' : ------------------
for /f "tokens=*" %%i in ("%CD%\retouches^&montage") do echo|set /p= . Dossier '%%~ni' & if not exist "%CD%\retouches^&montage\*.*" (echo ^(0 fichier^)) else for /f %%i in ('dir "%CD%\retouches^&montage" /a:-d ^| find "fichier"') do echo ^(%%i fichiers^) !ajouter poids!
rem heu.. en même temps est-ce utile de mettre la fonction %%~ni pour afficher automatiquement le nom du dossier, alors qu'il est renseigné manuellement après le 'tokens'...
rem dans tous les cas, il n'y aura pas de 100% automatique... alors est-ce utile de charger le script avec cette ''option'' ...
rem A FAIRE : !! A afficher la taille du dossier, à la suite du nombre de fichiers dispo, mais pas trouvé... modif : pour le coup, risque d'être inutile. à confirmer...
rem A FAIRE : !! A mettre des espaces, ou alinéas, devant la liste des fichiers pour les aligner à peut-pret sous le r de "Dossier retouches et montage", mais pas réussi
rem A FAIRE idée : !! voir pour lister les 2 sous-dossiers (retouche + montage) et indiquer devant chaque fichier dans quel dossier les docs se trouvent... voir pour créer une arborescence ?
rem ou simplement afficher comme les dossiers photos le dossier retouche puis en dessous le dossier montage ...
echo.
if not exist "%CD%\retouches^&montage\*.*" (echo /!\ aucun doc n'est archivé dans ce dossier) else (dir /b /a-d "%CD%\retouches^&montage\*.*" | findstr /m /v /i /c:"*.*")
rem !!! A CORRIGER : bon,je sèche, j'ai essayé tout ce que je pouvais pour les extension des nom de fichier, même en renommant le dossier par RETOUCHE par exmple, mais ya toujours un truc qui plante. je n'y arrive pas :(
rem extensions possibles : .tng, . pfi, .psd, .Ai, .png, docx, .jpg, .CR2, .docx
echo.
echo.
echo.
echo.
rem --------------------------------------------- Fin du script ---------------------------------------------
rem !!! attention : possibilité de sous-dossiers supplémentaires pour les photos "ne pas diffuser", à comptabiliser !...
rem il se peut que certains dossiers ne soient pas toujours présents
rem (voir si besoin d'ajouter un autre dossier pour les vidéos.)
echo.
) > Résultat_Listing.txt
rem ----------------------------- Voir pour faire création automatique d'un document .bat qui me met tout ce code, à partir du document .bat qui me crée automatiquement les dossiers. voir si nécessaire...
rem rectification : c'est inutile, puisque les album photos n'auront pas les mêmes noms, donc il faudra que je modifie à chaque fois les chemins d'accès... donc autant le fair manuellement à chaque fois :/
Et enfin un aperçu du résultat désiré :
Nom de l'album Photos : 'souvenir'
Chemin d'accès : 'C:\Users\Micka\Desktop\AZ\DOSS_PHOTOS\-script création album photo\souvenir'
------------
Dossiers présents dans ce répertoire : (pas mis dans le script. faut que je rajoute)
---- JPG (les tirés devant les dossiers sont juste pour montrer la mise en page)
---- RAW
---- retouches&montage
-------- montage
-------- retouches
Documents présents le répertoire 'souvenir' :
Résultat_Listing.txt
Script_Listing.bat
etc...
-------------------------
. Dossier Photos 'JPG' (2 fichiers) !ajouter taille dossier!
IMG_TEST photo 1.JPG
IMG_TEST photo 2.JPG
(1) documents mal placés :
IMG_TEST RAW 1.CR2
----------------------
. Dossier fichiers 'RAW' (5 fichiers) !ajouter taille dossier!
IMG_TEST photo raw 1.CR2
IMG_TEST photo raw 2.CR2
IMG_TEST photo raw 3.CR2
(2) documents mal placés :
IMG_TEST photo 1.jpg
IMG_TEST photo 13.jpg
----------------------
. Dossier 'retouches&montage' (0 fichier)
/!\ aucun doc n'est archivé dans ce dossier
sous-dossier 'retouches' :
IMG_TEST photo 1 retouchée.jpg
IMG_TEST photo 13 retouchée.jpg
doc de retouche photo 1.pfi
doc de retouche photo 13.pfi
sous-dossier 'montage' :
doc de montage masque photo 1.tng
doc de montage masque photo 13.tng
filtre montage photo 1.pfi
programmation.psd
plaquettes.docx
info procédures.txt
Désolé pour la mise en page (les alinéas) qui ont foiré sur le résultat désiré. du coup ça sert un peut à rien… :s
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
Modifié le 18 juin 2019 à 22:37
Modifié le 18 juin 2019 à 22:37
Vu que tu as des portions de code qui se répètent, j'ai créé une fonction nommée :comptage pour simplifier ton script :
J'ai fait ça à la va-vite, je n'ai pas eu le temps de tester quoi que ce soit, si j'ai un peu de temps demain soir je m'y mettrai sérieusement.
Bonne continuation.
@echo off
chcp 1252 >nul
setlocal enableextensions enabledelayedexpansion
rename "*.JPG" "*.jpg"
rem voir si le "rename" fonctionne aussi pour les sous-dossiers... à priori non. Fonctionne que dans le dossier principal "%CD%" ... à modifier! surtout pour dossier %cd%\JPG
rem --------------------------------------------- début script ---------------------------------------------
(echo.
for /f "tokens=*" %%i in ("%CD%") do (set "album=%%~ni" & echo Nom de l'album Photos : '!album!')
rem A afficher la taille du dossier DOSS_PHOTOS, convertir en Mo si possible. Pas réussi.
rem ne comptabiliser que les JPG, CR2 pour le calcul de la taille du dossier
echo.
echo Chemin d'accès : '%CD%'
echo.
echo.
echo ------------
rem ! compter le nombre de fichiers
set nombre=0
for /f "delims=" %%A in ('2^>nul dir /b /a-dslh') do set /a nombre+=1
echo [ !nombre! fichier(s) ]
echo.
echo Documents présents dans dossier '!album!' :
echo.
if !nombre! EQU 0 (echo aucun fichier supplémentaire ) else (dir /b /a-d | findstr /i /v "Script_Listing.bat Résultat_Listing.txt")
echo.
echo.
echo -------------------------
rem ------------------ PARAGRAPHE " Dossier Photos JPG " : ------------------
call :comptage "JPG" ".jpg" ".CR2" "Photos"
echo.
echo.
echo ----------------------
rem ------------------ PARAGRAPHE " Dossier fichiers RAW " : ------------------
call :comptage "RAW" ".CR2" ".jpg" "Fichiers"
echo.
echo.
echo ----------------------
rem ------------------ PARAGRAPHE '' Retouches et Montages '' : ------------------
call :comptage "retouches^&montage" "*" "*" "Retouches ^& Montage"
echo.
) > Résultat_Listing.txt
rem ----------------------------- Voir pour faire création automatique d'un document .bat qui me met tout ce code, à partir du document .bat qui me crée automatiquement les dossiers. voir si nécessaire...
rem rectification : c'est inutile, puisque les album photos n'auront pas les mêmes noms, donc il faudra que je modifie à chaque fois les chemins d'accès... donc autant le fair manuellement à chaque fois :/
:comptage
set nombre=0
for /f "tokens=*" %%i in ("%CD%\%~1") do (
echo Dossier %~4 '%%~ni'
for /f "delims=" %%A in ('2^>nul dir /b /a-dslh') do set /a nombre+=1
)
if !nombre! EQU 0 (echo 0 fichier) else (for /f "tokens=1,* delims= " %%i in ('2^>nul dir "%CD%\%~1" /a-d ^| find " fichier"') do echo %%i documents)
echo.
if not exist "%CD%\%~1\*%~2" (echo aucun %~2 n'est archivé dans ce dossier) else (dir /b /a-d "%CD%\%~1\*%~3")
if "%~4"=="Retouches ^& Montage" (goto :eof)
echo.
echo.
for /f "tokens=1,* delims= " %%i in ('2^>nul dir "%CD%\%~1\*%~3" /a-d ^| find "fichier"') do echo %%i documents mal placés :
if not exist "%CD%\%~1\*%~3" (echo aucun %~3 n'est archivé dans ce dossier) else (dir /b /a-d "%CD%\%~1\*%~2")
goto :eof
J'ai fait ça à la va-vite, je n'ai pas eu le temps de tester quoi que ce soit, si j'ai un peu de temps demain soir je m'y mettrai sérieusement.
Bonne continuation.
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
Modifié le 20 juin 2019 à 23:46
Modifié le 20 juin 2019 à 23:46
Bonsoir,
Comme promis je repasse par ici pour te faire part de mes dernières trouvailles.
J'ai re-écris entièrement le script afin de le simplifier, trop compliqué de repartir de ta version, désolé.
Je n'ai pas encore pu m'attaquer à tous les problèmes, mais j'en ai déjà résolu quelques-un, tout ça en un minimum de lignes pour avoir quelque chose de lisible et compréhensible.
Avant de m'attaquer au reste, je voudrais que tu valides (ou pas) le travail déjà accompli :
Le dossier retouches&montage fait planter le script car l'esperluette & est un caractère spécial, il va falloir renommer ce dossier autrement.
Comme promis je repasse par ici pour te faire part de mes dernières trouvailles.
J'ai re-écris entièrement le script afin de le simplifier, trop compliqué de repartir de ta version, désolé.
Je n'ai pas encore pu m'attaquer à tous les problèmes, mais j'en ai déjà résolu quelques-un, tout ça en un minimum de lignes pour avoir quelque chose de lisible et compréhensible.
Avant de m'attaquer au reste, je voudrais que tu valides (ou pas) le travail déjà accompli :
@echo off
Mode con cols=120
setlocal enableextensions enabledelayedexpansion
chcp 1252 >nul
set album=souvenir
cd /d %~dp0
cd %album% || exit /b 1
:: -----------------------------------------------------------
:: début du programme
:: -----------------------------------------------------------
cls & echo. & echo Nom de l'album Photos : '%album%'
echo. & echo Chemin d'accès : '%~dp0%album%'
echo. & echo ---------------------------------------------------------------------------------------------------
echo. & echo Dossiers présents dans ce répertoire : & echo.
for /f "delims=" %%A in ('2^>nul dir /b /s /ad') do (
set nom=%%~A
set nom=!nom:%cd%\=!
echo ---- !nom!
)
:: -----------------------------------------------------------
:: on établit le listing de chaque dossier
:: -----------------------------------------------------------
call :listing "JPG" "*.jpg" "Dossier Photos"
call :listing "RAW" "*.CR2" "Dossier fichiers"
call :listing "retouches-montage\montage" "*.tng *.pfi *.psd *.Ai *.png *.doc *.jpg *.CR2 *.docx" "Dossier Retouches-Montage"
:: -----------------------------------------------------------
:: fin du programme
:: -----------------------------------------------------------
echo. & pause
exit /b 0
:: -----------------------------------------------------------
:: on calcule la taille du dossier et le nombre de fichiers
:: -----------------------------------------------------------
:listing
pushd "%~1"
echo. & echo ---------------------------------------------------------------------------------------------------
echo. & echo ^>^>^> %~3 { Listing de '\%~nx1' } & echo.
set nombre=0
set taille=0
for %%A in (%2) do (
set /a nombre+=1
set /a taille+=%%~zA
echo ^>^>^> %%~nxA
)
popd
:: -----------------------------------------------------------
:: on convertit vers l'unité la plus adéquate
:: -----------------------------------------------------------
set "unite="
for %%A in (octets Ko Mo Go To) do (if !taille! LSS 1000 (if not defined unite (set unite=%%A)) else (set /a "fraction=!taille! %% 1024" & set /a "taille=!taille! / 1024"))
if !nombre! EQU 0 (echo /^^!\ aucun doc n'est archivé dans ce dossier) else (echo. & echo ^( !nombre! fichiers ^) ==^>^> !taille!,!fraction! !unite!)
goto :eof
Le dossier retouches&montage fait planter le script car l'esperluette & est un caractère spécial, il va falloir renommer ce dossier autrement.
RomantikA-
Messages postés
82
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
28 novembre 2019
8
30 juin 2019 à 03:45
30 juin 2019 à 03:45
Bonsoir.
Tout d'abord je vous remercie pour le temps que vous m'accordez. Merci pour votre réponse.
Et désolé de ne pas avoir pu répondre plus tôt...
je suis en déplacement en ce moment et ne peut donc pas avancer comme je le voudrais :s
je n'ai donc pas pu me remettre sur ce "projet"... même mes post-traitements photos ont été retardés :(
Enfin bref, ce n’est pas le problème.
Je me doute bien que c’est plus simple de tout reprendre… étant un débutant dans ce genre de codage, je suis parti de rien, avec ce que j'ai pu, comme j’ai pu. Donc je sais pertinemment qu'il y a des erreurs et que ce n’est pas difficile de faire mieux (d'ailleurs ça se voit avec les plantages ^^).
J'ai essayé d'apprendre un peut et de mettre en application, mais c'est comme tout, on ne peut pas arriver à un résultat correcte en seulement quelques jours.
Débutant, mais voulant faire les choses bien... j'ai même récupéré PowerBatch pour essayer de me simplifier la vie, lol. Mais ça n’a pas arrangé grand-chose. Je m’attendais à un logiciel me permettant de pouvoir voir les codes dans une fenêtre, et un aperçu du résultat dans une autre, un peut comme certains logiciels pour coder en html, php, …(comme Dreamweaver que j’utilisais jadis pour faire un site internet…), mais ça aurait été trop facile bien sur …
Bref, ce n’est pas non plus le sujet.
heu.. donc...
là en regardant le .bat , j'essai déjà de le décortiquer et de comprendre, car ça ne fonctionne pas, évidemment. Alors je regarde voir si j'ai des réglages à faire dans mes dossiers au cas où je ne sois pas doué. Lol Mais ça serait trop facile si ce n’était que ça…
J’ose alors présumer que c’est normal le fait que ça ne fonctionne pas… encore…
J’espère, sinon ça veut dire que je suis vraiment une brêle. mdr
Donc juste à la « lecture » du code:
en ligne 6,
J’aperçois "album=souvenir"
Pour le coup "souvenir" est juste le nom du dossier principal d'essai, car il y en aura un paquet de dossiers différents bati sur la même forme (mais avec des noms différents de dossier principal).
Pour info, faudra t-il alors que je modifie le code pour chaque dossier? ou c’est juste une partie temporaire ?
erf! la fonction pour la conversion d'octets j'en ai jamais vu de comme ça dans mes recherches... je ne risquais pas y arriver ^^ en même temps je n’ai pas trouvé grand-chose à ce sujet. Mis à part le fait qu’il y en a qui divisent par le bien connu 1024, et d’autres par 1048 (si je ne me trompe pas) pour un résultat plus pointu…
J’ai fait des essais, mais ils ne se sont pas avérés tous très concluant.
Au final, et bien je ne sais quoi répondre.
C'est beau, propre, et… compliqué. lol. mais c'est intéressant.
Du coup, ça dépasse mon niveau (pas compliqué...) et je ne comprends pas tout...
je me trompe peut être, mais je crois comprendre avec surprise, au début, que le résultat sera affiché avec des alinéas (en colonne) ?... cool ça ! j’ai pas réussi à trouver comment faire, ça non plus. J’ai même cru que c’était impossible. Je commençais même à me dire que j’allais essayer de faire ça en html. Le problème c’est qu’il m’aurait surement fallu du php pour les variables et les commandes… car il me semble bien, selon mes souvenirs, que le hml lui-même ne peut pas faire tout ça tout seul, pas pratique dans ce cas là. Et puis c’est loin tout ça, depuis ça à du pas mal changer, lol.
J’aurais pour le coup était aussi mauvais dans ces codages.
Ensuite j'aperçois le dossier souvenir, comme mentionné plus haut.
Après, dans le paragraphe "début du programme" ça à l'air de correspondre au résultat recherché.
idem pour le listing de chaque dossier. (dossier "photos JPG", dossier "fichiers RAW" et "Retouches-montage")
en ligne 46,
je ne comprends pas trop le "exit"
Pour la suite, je ne vois pas trop le résultat. J'imagine, mais j'ai du mal à visionner la chose. Peut être est-ce juste les règles de calcul qui sont affichées là... (du coup je comprendrais mieux le but de ces lignes) et donc en fait, ce qui est affiché réellement sur ma page est juste présenté dans les 2 premiers paragraphes. (juste pour me repérer par rapport à ma mise en page. ;) )
Au final, en lisant le code, si je le comprend comme il faut, ça à l'air d'être ça… en beaucoup mieux :)
Oui je sais.
J'ai galéré avec ce fichu dossier. Je ne sais pas comment faire... J’ai essayé tout ce que je pouvais avec ce fichu &, mais je ne suis arrivé à rien avec lui. Logique !
J’aurais pourtant voulu un nom lisible (donc pas retoucheetmontage qui ne fait pas bien « jolie »). et donc à part mettre un _ ou un & je ne voit pas.
Mais je sais que ce fichu & n’arrange pas la situation… Dilemme !
Evidemment "Retouches et montage » serait le top, mais j’ai cru comprendre que les espaces risquaient également de faire foirer la commande d'appel du dossier...
Peut être que "Retouches-Montage" est un bon compromis. Ou « Retouches_et_montages » ?
En tout cas votre coup de main est appréciable, merci beaucoup
Tout d'abord je vous remercie pour le temps que vous m'accordez. Merci pour votre réponse.
Et désolé de ne pas avoir pu répondre plus tôt...
je suis en déplacement en ce moment et ne peut donc pas avancer comme je le voudrais :s
je n'ai donc pas pu me remettre sur ce "projet"... même mes post-traitements photos ont été retardés :(
Enfin bref, ce n’est pas le problème.
J'ai re-écris entièrement le script afin de le simplifier, trop compliqué de repartir de ta version, désolé.
Je me doute bien que c’est plus simple de tout reprendre… étant un débutant dans ce genre de codage, je suis parti de rien, avec ce que j'ai pu, comme j’ai pu. Donc je sais pertinemment qu'il y a des erreurs et que ce n’est pas difficile de faire mieux (d'ailleurs ça se voit avec les plantages ^^).
J'ai essayé d'apprendre un peut et de mettre en application, mais c'est comme tout, on ne peut pas arriver à un résultat correcte en seulement quelques jours.
Débutant, mais voulant faire les choses bien... j'ai même récupéré PowerBatch pour essayer de me simplifier la vie, lol. Mais ça n’a pas arrangé grand-chose. Je m’attendais à un logiciel me permettant de pouvoir voir les codes dans une fenêtre, et un aperçu du résultat dans une autre, un peut comme certains logiciels pour coder en html, php, …(comme Dreamweaver que j’utilisais jadis pour faire un site internet…), mais ça aurait été trop facile bien sur …
Bref, ce n’est pas non plus le sujet.
Avant de m'attaquer au reste, je voudrais que tu valides (ou pas) le travail déjà accompli :
heu.. donc...
là en regardant le .bat , j'essai déjà de le décortiquer et de comprendre, car ça ne fonctionne pas, évidemment. Alors je regarde voir si j'ai des réglages à faire dans mes dossiers au cas où je ne sois pas doué. Lol Mais ça serait trop facile si ce n’était que ça…
J’ose alors présumer que c’est normal le fait que ça ne fonctionne pas… encore…
J’espère, sinon ça veut dire que je suis vraiment une brêle. mdr
Donc juste à la « lecture » du code:
en ligne 6,
J’aperçois "album=souvenir"
Pour le coup "souvenir" est juste le nom du dossier principal d'essai, car il y en aura un paquet de dossiers différents bati sur la même forme (mais avec des noms différents de dossier principal).
Pour info, faudra t-il alors que je modifie le code pour chaque dossier? ou c’est juste une partie temporaire ?
erf! la fonction pour la conversion d'octets j'en ai jamais vu de comme ça dans mes recherches... je ne risquais pas y arriver ^^ en même temps je n’ai pas trouvé grand-chose à ce sujet. Mis à part le fait qu’il y en a qui divisent par le bien connu 1024, et d’autres par 1048 (si je ne me trompe pas) pour un résultat plus pointu…
J’ai fait des essais, mais ils ne se sont pas avérés tous très concluant.
Au final, et bien je ne sais quoi répondre.
C'est beau, propre, et… compliqué. lol. mais c'est intéressant.
Du coup, ça dépasse mon niveau (pas compliqué...) et je ne comprends pas tout...
je me trompe peut être, mais je crois comprendre avec surprise, au début, que le résultat sera affiché avec des alinéas (en colonne) ?... cool ça ! j’ai pas réussi à trouver comment faire, ça non plus. J’ai même cru que c’était impossible. Je commençais même à me dire que j’allais essayer de faire ça en html. Le problème c’est qu’il m’aurait surement fallu du php pour les variables et les commandes… car il me semble bien, selon mes souvenirs, que le hml lui-même ne peut pas faire tout ça tout seul, pas pratique dans ce cas là. Et puis c’est loin tout ça, depuis ça à du pas mal changer, lol.
J’aurais pour le coup était aussi mauvais dans ces codages.
Ensuite j'aperçois le dossier souvenir, comme mentionné plus haut.
Après, dans le paragraphe "début du programme" ça à l'air de correspondre au résultat recherché.
idem pour le listing de chaque dossier. (dossier "photos JPG", dossier "fichiers RAW" et "Retouches-montage")
en ligne 46,
je ne comprends pas trop le "exit"
Pour la suite, je ne vois pas trop le résultat. J'imagine, mais j'ai du mal à visionner la chose. Peut être est-ce juste les règles de calcul qui sont affichées là... (du coup je comprendrais mieux le but de ces lignes) et donc en fait, ce qui est affiché réellement sur ma page est juste présenté dans les 2 premiers paragraphes. (juste pour me repérer par rapport à ma mise en page. ;) )
Au final, en lisant le code, si je le comprend comme il faut, ça à l'air d'être ça… en beaucoup mieux :)
Le dossier retouches&montage fait planter le script car l'esperluette & est un caractère spécial, il va falloir renommer ce dossier autrement.
Oui je sais.
J'ai galéré avec ce fichu dossier. Je ne sais pas comment faire... J’ai essayé tout ce que je pouvais avec ce fichu &, mais je ne suis arrivé à rien avec lui. Logique !
J’aurais pourtant voulu un nom lisible (donc pas retoucheetmontage qui ne fait pas bien « jolie »). et donc à part mettre un _ ou un & je ne voit pas.
Mais je sais que ce fichu & n’arrange pas la situation… Dilemme !
Evidemment "Retouches et montage » serait le top, mais j’ai cru comprendre que les espaces risquaient également de faire foirer la commande d'appel du dossier...
Peut être que "Retouches-Montage" est un bon compromis. Ou « Retouches_et_montages » ?
En tout cas votre coup de main est appréciable, merci beaucoup
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
>
RomantikA-
Messages postés
82
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
28 novembre 2019
Modifié le 3 juil. 2019 à 20:28
Modifié le 3 juil. 2019 à 20:28
En fait je m'aperçois que je n'ai pas bien compris la situation de départ (quel est l'arborescence de départ ? Où se trouvent les photos avant le lancement du script ?)
Cela explique que le script fonctionne chez moi et pas chez toi, mais c'est pas grave, il suffira d'adapter les chemins lors de l'appel à la fonction.
La commande EXIT indique la fin du script (fermeture de l'invite de commandes), tout ce qui suit ce sont des fonctions (=des portions de code qui se répètent) qui sont appelées avec la commande CALL, ça ressemble à une commande GOTO sauf qu'à la fin de la fonction le script reprend son cours normal juste après le CALL.
Concernant le dossier retouches&montage tu peux mettre des espaces ou un tiret, on peut gérer les espaces mais les caractères spéciaux c'est une autre histoire.
Concernant la fonction de conversion d'unités, j'ai voulu innover un peu en faisant quelque chose de court et fonctionnel, par rapport à ce qu'on trouve habituellement.
Cela explique que le script fonctionne chez moi et pas chez toi, mais c'est pas grave, il suffira d'adapter les chemins lors de l'appel à la fonction.
La commande EXIT indique la fin du script (fermeture de l'invite de commandes), tout ce qui suit ce sont des fonctions (=des portions de code qui se répètent) qui sont appelées avec la commande CALL, ça ressemble à une commande GOTO sauf qu'à la fin de la fonction le script reprend son cours normal juste après le CALL.
Concernant le dossier retouches&montage tu peux mettre des espaces ou un tiret, on peut gérer les espaces mais les caractères spéciaux c'est une autre histoire.
Concernant la fonction de conversion d'unités, j'ai voulu innover un peu en faisant quelque chose de court et fonctionnel, par rapport à ce qu'on trouve habituellement.
7 juin 2019 à 19:59
Enfin ça c'est du détail, ça n'a pas résolu mon problème sur le contenu :/