DOS : stocker des fichiers dans une variable

Loukana666 Messages postés 38 Statut Membre -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    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
    1. Loukana666 Messages postés 38 Statut Membre 11
       
      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
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      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
    3. Loukana666 Messages postés 38 Statut Membre 11
       
      cmd me renvoie à chaque fois "%%f était inattendu"...
      0
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      %%f dans un .bat, %f en interactif.
      montre ton code
      0
  2. Utilisateur anonyme
     
    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
    1. Loukana666 Messages postés 38 Statut Membre 11
       
      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
    2. Utilisateur anonyme
       
      ah dsl j'ai pas compris cela, et je ne connais pas ce logiciel...
      bn chance
      0