DOS : stocker des fichiers dans une variable

Fermé
Loukana666 Messages postés 29 Date d'inscription dimanche 6 février 2011 Statut Membre Dernière intervention 8 juillet 2016 - 6 févr. 2011 à 16:02
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 13 févr. 2011 à 08:53
Bonjour,

J'ai quelques connaissances en script, mais malheureusement je ne connais rien au DOS...

Je cherche à créer un fichier batch afin de convertir tout un dossier d'images jpeg en targa en une seule fois. Y a-t-il moyen de stocker les noms des images d'un dossier dans une variable tableau afin d'en faire une boucle du genre :

for ($image in $tableau)
{
convert ($image + ".jpg") ($image + ".tga")
}


Je ne sais pas si j'ai été suffisamment claire... Hésitez pas à me demander des précisions...

Merci d'avance !

2 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
6 févr. 2011 à 16:38
hello
%%f : chemin + nom + extension
%%~pf : chemin
%%~nf : nom

@echo off
for /f "delims=" %%f in ('dir /b/s *.jpg') do convert "%%f" "%%~pf%%~nf.tga"
0
Loukana666 Messages postés 29 Date d'inscription dimanche 6 février 2011 Statut Membre Dernière intervention 8 juillet 2016 11
12 févr. 2011 à 16:06
Salut !

Merci pour ta réponse ! J'ai toute fois un peu de mal à déchiffrer ta commande... Comment peut-elle récupérer le nom des fichiers que je veux convertir ?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 12/02/2011 à 16:16
la variable %%f contient chaque nom trouvé par dir /b/s *.jpg
essayer
for /f "delims=" %%f in ('dir /b/s *.jpg') do echo convert "%%f" "%%~pf%%~nf.tga" 
0
Loukana666 Messages postés 29 Date d'inscription dimanche 6 février 2011 Statut Membre Dernière intervention 8 juillet 2016 11
12 févr. 2011 à 17:10
cmd me renvoie à chaque fois "%%f était inattendu"...
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
13 févr. 2011 à 08:53
%%f dans un .bat, %f en interactif.
montre ton code
0
Utilisateur anonyme
7 févr. 2011 à 01:05
slt,
sinon tu peut simplement creer un dossier,et dedans creer un batch
style rename.bat

et dans ton txt que tu renome en .bat tu colle c'est quelques lignes:

rename *.jpeg* *.tga*
rename *.jpg* *.tga*


donc en cliquant sur le batch tu renome tout les fichiers jpeg ou jpg qui se trouve dans le dossier en tga.

si tu ne place pas le batch dans le dossier il faut simplement pécisez le chemin du dossier.

j espere que c'est bien ce que tu veut faire bonne chance.
0
Loukana666 Messages postés 29 Date d'inscription dimanche 6 février 2011 Statut Membre Dernière intervention 8 juillet 2016 11
12 févr. 2011 à 15:59
Pas tout à fait ce que je veux ^^; Il ne s'agit pas de renommer, mais de convertir ces images... Le logiciel "convert" dont je me sert s'active par une commande de type :

"convert nom_du_fichier_d'origine.extension nom_du_fichier_de_sortie.extension"

En gros, on lui précise en premier lieu le fichier qu'il doit convertir, et en second lieu le nom du fichier qu'il doit créer. Le logiciel repère l'extension du nom du fichier de sortie, et convertit le fichier d'origine dans ce format là.

Merci quand même !
0
Utilisateur anonyme
12 févr. 2011 à 22:08
ah dsl j'ai pas compris cela, et je ne connais pas ce logiciel...
bn chance
0