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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  je n'arrive pas à tester l'existence d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

je n'arrive pas à tester l'existence d'un fichier

n°1996112
MonGhost
Ite missa est
Posté le 26-05-2010 à 08:24:21  profilanswer
 

bonjour,
 
je souhaite transférer des fichiers disséminés un peu partout sur mon DD, dans un seul répertoire.
mais pour ne pas écraser d'éventuels doublons, je veux tester si le fichier existe avant de le copier.
 
et avec mon "if not exist" ça ne marche pas...
 

Citation :

@echo off
cls
d:
 
set cptd=0
set ori=D:\tests
set dest=D:\copie_photos
 
if not exist %dest%\doublons md %dest%\doublons
for /r %ori% %%i in (*.jpg) do (
if not exist %dest%\%%i xcopy %dest%\%%i
set %cptd%=cptd+1
)
 
echo le nombre de doublons est %cptd%


 
il me copie aussi les fichiers en doublons en me demandant si je veux les écraser... or le "if not exist" devrait suffire à ne pas poursuivre la boucle.
 
si quelqu'un a des idées.
 
merci


Message édité par MonGhost le 26-05-2010 à 08:24:48
mood
Publicité
Posté le 26-05-2010 à 08:24:21  profilanswer
 

n°1999768
MonGhost
Ite missa est
Posté le 08-06-2010 à 00:09:14  profilanswer
 

ça y est j'ai trouvé...
mauvais envoi de parametres avec une syntaxe inversée...

Citation :

@echo off
cls
d:
set cptsd=0
set cptd=0
set ori=D:\tests
set dest=D:\copie_photos
set destdoub=D:\copie_photos\doublons
 
if not exist %dest%\doublons md %dest%\doublons
for /r %ori% %%i in (*.jpg) do (
if not exist %dest%\%%~nxi xcopy %%i %dest%
set /A cptsd=cptsd+1
)


Par contre je voudrai trouver la syntaxe du if else, car si j'ai des doublons, je voudrai les récupérer...
j'arrive pas à comprendre dans quel cas on retourne à la ligne ou pas...


Message édité par MonGhost le 08-06-2010 à 00:24:58
n°2000051
MonGhost
Ite missa est
Posté le 08-06-2010 à 23:20:36  profilanswer
 

c'est pas que je me sens un peu seul sur mon post, mais quand même...^^
 
est-ce que quelqu'un sait comment contourner le problème des espaces dans les noms de dossiers quand un For /R retourne la variable ?

n°2000186
aigles
Posté le 09-06-2010 à 12:43:51  profilanswer
 

Pourquoi ne pas mettre le nom du fichier entre guillemets:

Code :
  1. if not exist "%dest%\%%~nxi" xcopy "%%i" %dest%


 
Jean-Pierre.


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

  je n'arrive pas à tester l'existence d'un fichier

 

Sujets relatifs
autorun -> fichier htmlDébutant en Java j'y arrive même pas à ça :( :( :(
fichier batchSupprimer un élément XML en ayant son ID
[C#][WOrd 2003] Modifier fichier Word[Résolu] Création de dossier et fichier impossible
[HS] ligne[VBS] Attente d'un fichier
[UNIX/KSH] Tester l'existence de tables ! Erreur louche ! - RESOLU - 
Plus de sujets relatifs à : je n'arrive pas à tester l'existence d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR