IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Renommer un groupe de fichier (script de transfert de photo)


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut Renommer un groupe de fichier (script de transfert de photo)
    Bonsoir,

    Je me suis mis depuis peu au batch afin d'effectuer des transfert de données en masse (photo, video, etc) de mon PC vers un disque dur externe en créant les dossier de stockage etc.

    Je voudrais pouvoir faire la même chose pour mes photos mais il me faut les renommer également. Et je n'arrive pas à trouver comment renommer un groupe de fichiers pour qu'ils aient la forme "NOM - 3chiffresAutoIncrémentés" (par ex : PHOTO - 001, PHOTO - 054, PHOTO - 127, etc).

    Mes scripts ont en général cette forme :

    echo off
    mkdir "cheminCible1"
    xcopy "cheminSource1\*.extension" "cheminCible1"
    mkdir "cheminCible2"
    xcopy "cheminSource2\*.extension" "cheminCible2"
    mkdir "cheminCible3"
    xcopy "cheminSource3\*.extension" "cheminCible3"
    ...
    end

    Il faudrait donc qu'à la suite de chaque xcopy je fasse le renommage de la totalité des fichiers du cheminCible dans la forme décrite ci-dessus.

    Savez-vous comment faire ça ? Si oui, mettez un petit peu de commentaires si possible histoire d'expliquer car je suis vraiment novice.

    Merci d'avance pour vos réponses.

    PS : je sais qu'il existe des logiciels qui font déjà ça mais si je ne les utilises pas c'est que je veux que mon batch le fasse en une seule fois et que je puisse "contrôler" ce qu'il fait (en gros que c'est moi qui écrive le code qui le fait).

  2. #2
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Bonjour à toi,

    Voici de quoi t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /F "delims=: tokens=1*" %%i in ('dir ^"CheminCible^" /b ^| findstr /n .') do (
        ren "%%j" "photo - %%i.jpg"
    )

    Pour explication :
    - La commande dir ^"CheminCible^" /b ^| findstr /n . t'affiche la liste des fichiers dans le repertoire cible avec un numéro de ligne précédé par :. Les ^ sont des charactères d'échappement.
    - J'utilise le for pour boucler sur cette liste, en scindant chaque ligne de la liste en deux, ce qu'il y a avant le : (le numéro de ligne) et ce qu'il y a après (le nom de fichier).
    - Ensuite il me reste juste à renommer, le nom du fichier étant dans la variable %%j et le numéro de ligne dans %%i.

    Si tu veux absolument le numéro sur 3 charactères, il te faudra transformer le %%i avant de renommer.

    Enfin tu n'avais pas précisé ce que NOM était, j'ai assumé que cela était une constante comme le PHOTO de ton exemple. A adapter si changement.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Salut,

    Je reviens vers toi car je n'arrive pas à le faire fonctionner.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    echo off
    set a=TEST07
    mkdir "D:\[TEST]20091022\%a%"
    xcopy "D:\[TEST]20091022\TEST21\*.jpg" "D:\[TEST]20091022\%a%"
    xcopy "D:\[TEST]20091022\TEST22\*.jpg" "D:\[TEST]20091022\%a%"
    xcopy "D:\[TEST]20091022\TEST23\*.jpg" "D:\[TEST]20091022\%a%"
    for /F "delims=: tokens=1*" %%i in ('dir ^"D:\[TEST]20091022\%a%^" /b ^| findstr /n .') do (
    	ren "%%j" "2009_10_22 - TEST - PHOTO - %%i.jpg"
    )
    pause
    Ca crée le dossier, ca copie mais ne renomme car fichier introuvable.

    Merci d'avance.

    PS : j'ai tester juste ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo off
    set a=TEST07
    dir ^"D:\[TEST]20091022\%a%^" /b ^| findstr /n
    pause
    Ca m'affiche bien une liste des fichiers de ce dossier mais toujours avec un "fichier introuvable" en dernier

  4. #4
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Hum bizarre, ça marche nickel chez moi.

    Enleve le echo off pour voir ce qu'il fait exactement.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Même sans le echo off cela ne marche pas.

    Tiens j'ai testé ce code qui copie les photo de trois dossier dans un même dossier, puis doit renommer les 15 photos :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    set a=TEST10
    mkdir "D:\[TEST]20091022\%a%"
    xcopy "D:\[TEST]20091022\TEST21\*.jpg" "D:\[TEST]20091022\%a%"
    xcopy "D:\[TEST]20091022\TEST22\*.jpg" "D:\[TEST]20091022\%a%"
    xcopy "D:\[TEST]20091022\TEST23\*.jpg" "D:\[TEST]20091022\%a%"
    for /F "delims=: tokens=1*" %%i in ('dir ^"D:\[TEST]20091022\%a%^" /b ^| findstr /n .') do 	(
    	ren "%%j" "2009_10_22 - TEST - PHOTO - %%i.jpg"
    )
    pause
    A l'exécution, voilà le résultat :

    D:\[TEST]20091022>set a=TEST10
    D:\[TEST]20091022>mkdir "D:\[TEST]20091022\TEST10"
    D:\[TEST]20091022>xcopy "D:\[TEST]20091022\TEST21\*.jpg" "D:\[TEST]20091022\TEST
    10"
    D:\[TEST]20091022\TEST21\DSC00195.JPG
    D:\[TEST]20091022\TEST21\DSC00196.JPG
    D:\[TEST]20091022\TEST21\DSC00197.JPG
    D:\[TEST]20091022\TEST21\DSC00198.JPG
    D:\[TEST]20091022\TEST21\DSC00199.JPG
    5 fichier(s) copié(s)
    D:\[TEST]20091022>xcopy "D:\[TEST]20091022\TEST22\*.jpg" "D:\[TEST]20091022\TEST
    10"
    D:\[TEST]20091022\TEST22\DSC00201.JPG
    D:\[TEST]20091022\TEST22\DSC00203.JPG
    D:\[TEST]20091022\TEST22\DSC00204.JPG
    D:\[TEST]20091022\TEST22\DSC00205.JPG
    D:\[TEST]20091022\TEST22\DSC00206.JPG
    5 fichier(s) copié(s)
    D:\[TEST]20091022>xcopy "D:\[TEST]20091022\TEST23\*.jpg" "D:\[TEST]20091022\TEST
    10"
    D:\[TEST]20091022\TEST23\DSC00207.JPG
    D:\[TEST]20091022\TEST23\DSC00208.JPG
    D:\[TEST]20091022\TEST23\DSC00209.JPG
    D:\[TEST]20091022\TEST23\DSC00210.JPG
    D:\[TEST]20091022\TEST23\DSC00211.JPG
    5 fichier(s) copié(s)
    D:\[TEST]20091022>for /F "delims=: tokens=1*" %i in ('dir "D:\[TEST]20091022\TES
    T10" /b | findstr /n .') do (ren "%j" "2009_10_22 - TEST - PHOTO - %i.jpg" )
    D:\[TEST]20091022>(ren "DSC00195.JPG" "2009_10_22 - TEST - PHOTO - 1.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00196.JPG" "2009_10_22 - TEST - PHOTO - 2.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00197.JPG" "2009_10_22 - TEST - PHOTO - 3.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00198.JPG" "2009_10_22 - TEST - PHOTO - 4.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00199.JPG" "2009_10_22 - TEST - PHOTO - 5.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00201.JPG" "2009_10_22 - TEST - PHOTO - 6.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00203.JPG" "2009_10_22 - TEST - PHOTO - 7.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00204.JPG" "2009_10_22 - TEST - PHOTO - 8.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00205.JPG" "2009_10_22 - TEST - PHOTO - 9.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00206.JPG" "2009_10_22 - TEST - PHOTO - 10.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00207.JPG" "2009_10_22 - TEST - PHOTO - 11.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00208.JPG" "2009_10_22 - TEST - PHOTO - 12.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00209.JPG" "2009_10_22 - TEST - PHOTO - 13.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00210.JPG" "2009_10_22 - TEST - PHOTO - 14.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>(ren "DSC00211.JPG" "2009_10_22 - TEST - PHOTO - 15.jpg" )
    Le fichier spécifié est introuvable.
    D:\[TEST]20091022>pause
    Appuyez sur une touche pour continuer...

  6. #6
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Piouuu je suis vraiment fatigué moi ....

    C'est pas bien méchant, c'est juste que dans le ren il faut mettre les chemins complets aussi.

    Donc une solution simple est de modifier le %%j en "D:\[TEST]20091022\%a%\%%j"


    (Au fait le script ne gère que les repertoire sans sous-repertoires, il faudrait modifier un peu si tu veux gérer ça)
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Merci, c'est bon ça fonctionne.

    Et pour l'histoire des sous-répertoires en général quand je trie les données à transférer je fais en sorte qu'il n'y en ai pas.

    Bon reste plus qu'à gérer le %%i pour qu'il soit sur 3 caractères plus quelque autres problèmes.

    Premier problèmes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for /F "delims=: tokens=1*" %%i in ('dir ^"D:\[TEST]20091022\%a%^" /b ^| findstr /n .') do (
    	if %%i<10 (
    		ren "D:\[TEST]20091022\%a%\%%j" "2009_10_22 - TEST - PHOTO - 00%%i.jpg"
    	) else if %%i<100 (
    		ren "D:\[TEST]20091022\%a%\%%j" "2009_10_22 - TEST - PHOTO - 0%%i.jpg"
    	) else (
    		ren "D:\[TEST]20091022\%a%\%%j" "2009_10_22 - TEST - PHOTO - %%i.jpg"
    	)
    )
    Serais-tu pourquoi ce code ne marche pas ? Je pense que sur le principe de fonctionnement ça doit être bon, mais sur la forme un peu moins...

    Deuxième (et normalement dernier problème) :

    Sais-tu comment gérer les "à","é",etc ? Car quand je les met dans un nom, j'ai d'autre caractère à la place. Par exemple le "à" c'était transformer en "ó" il me semble.

    Encore une fois merci.

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Ou utiliser "%%~dpnxJ" à la place, qui devrait expander le "%%J" en chemin d'accès complet...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  9. #9
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Sauf erreur de ma part ça ne va pas marcher la vu que le for ne boucle pas sur une liste de fichier mais sur le résultat d'un findstr.

    Sinon pour ton problème de if :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for /F "delims=: tokens=1*" %%i in ('dir ^"D:\[TEST]20091022\%a%^" /b ^| findstr /n .') do (
    	if %%i LSS 10 (
    		ren "D:\[TEST]20091022\%a%\%%j" "2009_10_22 - TEST - PHOTO - 00%%i.jpg"
    	) else if %%i LSS 100 (
    		ren "D:\[TEST]20091022\%a%\%%j" "2009_10_22 - TEST - PHOTO - 0%%i.jpg"
    	) else ren "D:\[TEST]20091022\%a%\%%j" "2009_10_22 - TEST - PHOTO - %%i.jpg"
    )
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  10. #10
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Drizzt [Drone38] Voir le message
    Sauf erreur de ma part ça ne va pas marcher la vu que le for ne boucle pas sur une liste de fichier mais sur le résultat d'un findstr.
    Ah, oui, en effet... Faudrait le faire sur le résultat d'un DIR pour ça. Quoi qu'il faudrait tester, au cas où...
    Concaténation, sinon, plus que ça de disponible.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  11. #11
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par Drizzt [Drone38] Voir le message
    Sauf erreur de ma part ça ne va pas marcher la vu que le for ne boucle pas sur une liste de fichier mais sur le résultat d'un findstr.

    Sinon pour ton problème de if :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for /F "delims=: tokens=1*" %%i in ('dir ^"D:\[TEST]20091022\%a%^" /b ^| findstr /n .') do (
    	if %%i LSS 10 (
    		ren "D:\[TEST]20091022\%a%\%%j" "2009_10_22 - TEST - PHOTO - 00%%i.jpg"
    	) else if %%i LSS 100 (
    		ren "D:\[TEST]20091022\%a%\%%j" "2009_10_22 - TEST - PHOTO - 0%%i.jpg"
    	) else ren "D:\[TEST]20091022\%a%\%%j" "2009_10_22 - TEST - PHOTO - %%i.jpg"
    )
    Merci, c'est parfait ça fonctionne. Il me reste plus qu'à trouver comment faire pour qu'il m'enregistre les caractère de type "é", "à", etc sans me les modifier.

  12. #12
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par neo18045 Voir le message
    Merci, c'est parfait ça fonctionne. Il me reste plus qu'à trouver comment faire pour qu'il m'enregistre les caractère de type "é", "à", etc sans me les modifier.
    Si tu as un bon éditeur de texte, pense à enregistrer ton batch au format OEM (DOS) et non pas ANSI (Windows), tout simplement.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  13. #13
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Merci en fait je venais de trouver. J'ai pas trouver OEM mais j'ai changer d'éditeur (je suis passé sous wordpad) et enregistrer mon .bat en fichier texte MS-DOS. Ca doit revenir à ce que tu me dis.

    Merci quand même.

  14. #14
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Salut tout le monde
    et bienvenue neo18045 sur le forum;

    Citation Envoyé par Drizzt [Drone38] Voir le message
    Sauf erreur de ma part ça ne va pas marcher la vu que le for ne boucle pas sur une liste de fichier mais sur le résultat d'un findstr.
    Non, la seule raison pour laquelle ça ne fonctionnerait pas correctement, c'est quand le fichier désigné n'existe pas. «for» effectuant une recherche préalable dans le dossier parent avant l'affichage du résultat demandé.

  15. #15
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Effectivement c'est ce que j'avais vu en test, mais il faut pas oublier de se postionner dans le repertoire cible avant sinon il utilise le repertoire courant du cmd.
    (Mais c'est pas le for qui est perturbé lui il s'en fout si le fichier existe ou pas, c'est le ren ensuite)
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  16. #16
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Citation Envoyé par Drizzt [Drone38] Voir le message
    Effectivement c'est ce que j'avais vu en test, mais il faut pas oublier de se postionner dans le repertoire cible avant sinon il utilise le repertoire courant du cmd.
    Non, ce n'est pas nécessaire si tu spécifies le chemin complet du fichier ou son chemin relatif. Cependant, si tu n'indiques que le nom du fichier, effectivement, l'analyse portera sur le répertoire courant.

    Citation Envoyé par Drizzt [Drone38] Voir le message
    (Mais c'est pas le for qui est perturbé lui il s'en fout si le fichier existe ou pas, c'est le ren ensuite)
    Non, pas du tout. La seule différence avec une commande classique c'est qu'il n'émet pas d'alerte, et les informations qu'il renverra s'en trouveront erronées si le fichier pointé n'existe pas.

    En ce qui concerne la commande rename, c'est évident.

  17. #17
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Citation Envoyé par maxim_um Voir le message
    Non, ce n'est pas nécessaire si tu spécifies le chemin complet du fichier ou son chemin relatif. Cependant, si tu n'indiques que le nom du fichier, effectivement, l'analyse portera sur le répertoire courant.
    Tout à fait, mais justement la avec la commande dir donnée on a que le nom de fichier, le /b seul enlevant le nom du repertoire.
    Par contre tu as peut etre une solution pour cela, j'ai essayé d'afficher la liste des fichiers avec chemin complet à l'aide d'un dir et sous la forme du /b sans succès.
    En ajoutant un /s cela fonctionne mais j'ai aussi tout les fichiers des sous-repertoires.


    Citation Envoyé par maxim_um
    Non, pas du tout. La seule différence avec une commande classique c'est qu'il n'émet pas d'alerte, et les informations qu'il renverra s'en trouveront erronées si le fichier pointé n'existe pas.
    Ok
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  18. #18
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Citation Envoyé par Drizzt [Drone38] Voir le message
    Tout à fait, mais justement la avec la commande dir donnée on a que le nom de fichier, le /b seul enlevant le nom du repertoire.
    Par contre tu as peut etre une solution pour cela, j'ai essayé d'afficher la liste des fichiers avec chemin complet à l'aide d'un dir et sous la forme du /b sans succès.
    En ajoutant un /s cela fonctionne mais j'ai aussi tout les fichiers des sous-repertoires.
    Ben comme tu connais le chemin du répertoire, en tout il t'est facile de l'obtenir, il te suffit alors de concaténer ce chemin avec la sortie de la commande «dir», et tu te retrouves ainsi avec ton chemin complet.

    Je crois qu'il y a une discussion dans laquelle la commande «dir» a été traitée de long en large. Je la cherche et je te communique le lien.

    [EDIT]:

    Voilà, il s'agit de la discussion Lister chemins des fichiers

Discussions similaires

  1. Script de transfert de fichier en SFTP
    Par JeReMsS69 dans le forum Réseau
    Réponses: 1
    Dernier message: 15/09/2009, 19h43
  2. Réponses: 1
    Dernier message: 20/05/2009, 17h33
  3. [MySQL] [mysqli] Script pour transfert massif de données (fichier excel)
    Par floctc dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/04/2009, 15h26
  4. renommer le nom de fichier avec un script
    Par Abdellah.alaoui2006 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 25/01/2009, 15h50
  5. Transfert FTP automatisé sans fichier script.txt
    Par RaphTIM dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 05/09/2007, 21h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo