Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4030 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  for /f imbriqué

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

for /f imbriqué

n°1967132
MonGhost
Ite missa est
Posté le 18-02-2010 à 11:10:39  profilanswer
 

je cherche (encore) à classer mes photos sur mon ordi.
 
je fais un fichier ou je stocke tous mes fichiers jpeg => jpeg.txt
à partir de là je récupére le mois et l'année de la création de la photo pour créer un repertoire MM_AAAA.
jusque la tout va bien.
après je veux faire un test pour savoir si le fichier que je vais copier n'existe pas déjà dans les répertoires. donc un if else.
pour tester je fais un for /f imbriqué car je n'arrive pas à avoir dans la meme boucle 2 parties différentes du fichier jpeg.txt (mais peut être est-ce mal conçu).
mais avant, pour m'assurer qu'il me renvoie bien dans la variable juste le nom du fichier, je fais un echo et là j'ai un la commande echo est désactivée....
 
voici le code :
 

Citation :

@echo off
cls
d:
for /r d:\tests\ %%i in (*.jpg) do echo %%~ftzsai >> D:\jpeg.txt
 
FOR /F "tokens=2-8 delims=/ " %%i in (D:\jpeg.txt) do (
if not exist d:\photos\%%j_%%k   md d:\photos\%%j_%%k
)
set /A cpt=0
setlocal enableDelayedExpansion
FOR /F "tokens=2-8 delims=/ " %%i in (D:\jpeg.txt) do (
    FOR /F "tokens=2-8 delims=\" %%i in (D:\jpeg.txt) do (
      set fic=%%l
      )
    echo %fic% >> d:\toto.txt)
REM echo d:\photos\%%j_%%k\!fic!
rem if not exist d:\photos\%%j_%%k\!fic! (xcopy %%n d:\photos\%%j_%%k /EXCLUDE:d:\exc.txt) else (set /A cpt=cpt+1)
)
echo le %date% a %time:~0,8% le nb de doublons est de %cpt% >> "D:\tests\doublons.txt"
 
echo le nombre de doublons est %cpt%
del d:\jpeg.txt /p


 
merci de vos lumières

mood
Publicité
Posté le 18-02-2010 à 11:10:39  profilanswer
 

n°1968810
Kerrozen
To be or not to be ... cool ..
Posté le 24-02-2010 à 11:09:54  profilanswer
 

Pas compris la question là..... On peut se la refaire plus tranquillement ?
 
Missi ^^
 
Sinon sous ninix y a le bon vieux test d'existence d'un fichier :
 
if [ -e ${fichier} ]
then
   echo "le fichier ${fichier} existe deja !"
else
   < là tu fais la copie de ton fichier source >
fi
 
Mais bon, c'est du KSH.... je connais quedale à la transposition vers Batch pour windows.


---------------
En programmation, quand t'as un problème et qu'il n'y a que deux solutions valides, seule la troisième fonctionne !
n°1969149
MonGhost
Ite missa est
Posté le 25-02-2010 à 10:58:32  profilanswer
 

tu as raison, mon poste est clair comme du jus de chique.
en gros, ce que je veux faire c'est balayer tous mes disques (D:\, G:\, H:\ etc) ramener tous les jpg. ensuite les classer par mois de création.
ça je sais faire.
ce qui me pose pb, c'est que je n'arrive pas dans une même boucle à tester si mon fichier existe déjà dans mon répertoire de destination, et s'il n'existe pas le copier.

n°1970850
Kerrozen
To be or not to be ... cool ..
Posté le 03-03-2010 à 14:04:06  profilanswer
 

Donc l'idée peut ressembler à ce que j'ai décrit je pense.
 
Mais en batch MS-DOS ^^ Faudrait décidément que je m'y mette à ce truc là !


---------------
En programmation, quand t'as un problème et qu'il n'y a que deux solutions valides, seule la troisième fonctionne !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  for /f imbriqué

 

Sujets relatifs
[RESOLU] [PHP/MYSQL] Problème d'exécution de requete imbriquépbm avec le style d'un span imbriqué
[Base OpenOffice & SQL] SELECT imbriquérequete imbrique <> all
valeur variable et fixe imbriquéIf imbriqué dans un autre if en asp
afficher une image dans un JPanel imbriqué[RESOLU] Problème avec un IF imbriqué dans une boucle FOR
petite aide SQL requete imbriquéRêquete imbriqué avec MySQL
Plus de sujets relatifs à : for /f imbriqué


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)