Bonjour,
Je cherche à faire un batch qui permette de chercher tous les fichiers jpg, par exemple, dans la totalité de l'ordinateur et qui attribue une nouvelle extension à ces fichiers.
J'espère que je suis assez clair !!
Merci
Sam
-----
Bonjour,
Je cherche à faire un batch qui permette de chercher tous les fichiers jpg, par exemple, dans la totalité de l'ordinateur et qui attribue une nouvelle extension à ces fichiers.
J'espère que je suis assez clair !!
Merci
Sam
Bonjour
pour lister les fichiers
for /r c:\my\dir %%g in (*.jpg) do echo %%g
pour les renommer
for /r c:\my\dir %%g in (*.jpg) do ren "%%g" "%%~ng.new"
%%g récupère le nom complet de chaque fichier -> drive:\path\filename.ext
%%~ng est un extrait de %%g ne contenant que filename
je suis une bille !
Il faut mettre ces lignes de commandes dans un fichier .bat ?
La commande "for" me semble convenir pour ce que tu cherches:https://technet.microsoft.com/en-us/.../bb490909.aspx
PS: J'étais parti faire autre chose sans rafraichir ma page. Du coup, je n'ai pas vu la réponse de satinas.
Dernière modification par Jack ; 08/08/2016 à 16h48.
j'ai mis cela dans un .bat mais cela ne fonctionne pas !
Rajoute une ligne avec le mot pause en fin du fichier bat, pour éviter que la fenêtre ne se ferme en fin d'exécution, si tu l'a lancé en cliquant dessus.
Donne nous le contenu du fichier bat, et le message d'erreur, s'il y a eu message d'erreur.
j'ai mis les lignes telles quelles
Message erreur : %%g était inattendu
tu ne réponds pas aux demandes
Le contenu de mon fichier bat :
for /r c:\my\dir %%g in (*.jpg) do echo %%g
for /r c:\my\dir %%g in (*.jpg) do ren "%%g" "%%~ng.new"
pause
c:\my\dir c'était pour l'exemple, il faut mettre "c:\" à la place si tu veux traiter tous les fichiers du disque C
new c'était aussi pour l'exemple, tu mets l'extension que tu veux
Fais un premier bat avec une seule ligne, la première ligne (echo)
Si son exécution affiche bien tous les fichiers, tu crées un second bat qui contient la 2ème ligne (ren), qui lui renommera
Toujours terminer par pause
j'ai changé mais j'ai :
%%g était inattendu
t'as encore oublié de donner le contenu du fichier bat ...
for /r c:\dir %%g in (*.jpg) do echo %%g
pause
Tu n'as pas l'air de savoir ce qu'est un dossier Windows, pas grave, mais pour bricoler le contenu de ton disque, vaudrait mieux se documenter un peu, sur comment sont stockés les fichiers.
for /r "c:\" %%g in (*.jpg) do echo %%g
En effet je n'y connais rien !!
pour le second bat j'ai accès refusé :
for /r "c:\" %%g in (*.jpg) do ren "%%g" "%%~ng.toto"
Est-ce que je dois en déduire que le premier bat s'est bien passé ?
Donne le message d'erreur complet
Il faut bien sur travailler sur un un dossier pour lequel tu as les droits d'accès.
oui en effet les 2 fonctionnent ! merci
pour ma gouverne que signifie %%g ?
Egalement est-il possible que l'on décide de l'extension à mettre au moment ou le bat s’exécute ?
Merci encore
Cela correspond à la syntaxe du langage batch de Windows.
Le double %% désigne la variable g associée à la boucle for. Elle prend comme valeur successivement tous les noms complets des fichiers recherchés (*.jpg)
Lance l'explorateur Windows et étudie un peu l'arborescence des fichiers sur le disque.
En fin de compte, la commande for avec C:\ était dangereuse car si tu es en mode administrateur, tu risques de renommer tous les fichiers y compris les jpg internes de Windows, avec de sacrées surprises derrière.
Ce qu'il faut faire c'est travailler sur ton dossier personnel, par exemple :
for /r "c:\users\xxxxx" %%g in (*.jpg) do ren "%%g" "%%~ng.toto"
Pour la nouvelle extension, tu remplaces toto par ce que tu veux.
Pour la saisie de paramètres, la commande set /p ...
Regarde sur le net. Tu dois t'y mettre, ou te contenter d'un fichier certes simple, mais efficace.
c'est super intéressant en effet ! et pour faire une interface graphique en rapport avec mon bat tu me conseilles quoi ?
Hello,
interface graphique et fichier batch ne font pas bon ménage me semble-t-il...
Pour moi du batch, c'est en ligne de commande via la console uniquement.
Sauf, peut-être, à se mettre à Powershell mais c'est une autre histoire !
j'aimerais bien avoir l'avis de "pro".
Le bash Linux vient d'atterrir sur Windows 10, ça peut se relever bien pratique.
bonjour,
Suite à ces manip efficaces, j'essaye en vain de pouvoir afficher une miniature des nouveaux fichiers créés à savoir, lorsque j'ouvre mon fichier.toto je l'associe avec visionneuse et la photo apparaît par contre je n'ai pas la miniature dans l'explorateur.
J'ai dupliqué la clef .jpg dans la BDR en .toto mais cela ne change rien.
Une idée ??
Merci
L'extension du fichier modifiée ne permet plus à l'explorateur Windows de savoir que c'est une image.
Seul un logiciel qui analyse le contenu du fichier pourra l'afficher.
Etrange de vouloir modifier une extension qui est là pour indiquer dans quel format l'image est codée.
je pensais que l'on pouvait déclarer l'affichage des miniatures dans la base de registre !
tant pis