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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [RÉSOLU] Envoyer une liste de noms de fichiers vers un exécutable

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RÉSOLU] Envoyer une liste de noms de fichiers vers un exécutable

n°2359927
charliedel​ta
The crownless again shall be k
Posté le 14-08-2020 à 17:41:45  profilanswer
 

Bonjour,
 
Voici mon problème : j’ai une liste de fichiers de même extension dans un dossier à faire traiter par un exécutable appelé DSFTool.
Ces fichiers sont compressés et doivent d’abord être renommés en .7z puis décompressés avant d’être traités par DSFTool.
 
J’arrive correctement à réaliser ces étapes, mais ensuite ça se corse, car le traitement impose d’écrire précisément en syntaxe que tel fichier .dsf doit être transformé en .txt.
Il faut donc récupérer le nom de fichier sans extension et lui attribuer à chaque fois les bonnes.
 
N.B. Tout se passe dans le répertoire D:\XPTools et l’exécutable se trouve dans D:\XPTools\Tools.
 
J’ai essayé une multitude de choses, sans succès. Voici la dernière version :
 

Code :
  1. @echo off
  2. ren *.dsf *.7z       ::renommage des fichiers
  3. 7z e ./*.7z       ::décompression des archives
  4. del /s ./*.7z       ::suppression des archives inutiles
  5. for %%a in (*.dsf) do set fileName=%%~na   ::récupération nom fichier
  6. echo Processing %fileName%.dsf
  7. cd "D:\XPTools%\Tools" & start DSFTool.exe --dsf2txt "%fileName%.dsf" "%fileName%.txt" ::Lancement de l’exe  
  8. pause


 
Merci pour votre aide.


Message édité par charliedelta le 17-08-2020 à 13:13:18
mood
Publicité
Posté le 14-08-2020 à 17:41:45  profilanswer
 

n°2360003
gilou
Modérateur
Modzilla
Posté le 16-08-2020 à 12:08:52  profilanswer
 

A la ligne 9, tu es dans D:\XPTools%\Tools donc je vois pas trop comment %fileName%.dsf va être trouvé, puisqu'il est ailleurs.
Je tenterais  
start "D:\XPTools%\Tools\DSFTool.exe" --dsf2txt "%fileName%.dsf" "%fileName%.txt" ::Lancement de l’exe  
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2360025
charliedel​ta
The crownless again shall be k
Posté le 17-08-2020 à 13:11:33  profilanswer
 

C’est bon, problème résolu.
 
Merci pour la remarque, effectivement le % était de trop, j’avais oublié de le supprimer. D’autre part, il fallait également intégrer le fait qu’il faut attendre que DSFTool ait terminé son processus avant de continuer le script.
 
Pour info, si ça peut rendre service à quelqu’un, voici mon code final :
 

Code :
  1. @echo off
  2. rem renommage des archives
  3. ren *.dsf *.7z
  4. rem extraction des archives
  5. 7z e *.7z
  6. rem suppression des archives
  7. del *.7z
  8. :loop
  9. if exist *.dsf (goto :process) else goto :finish
  10. :process
  11. rem récupération nom fichier
  12. for %%a in (*.dsf) do set fileName=%%~na
  13. rem envoi à DSFTool
  14. start "DSFTool" /B /wait D:\XPTools\tools\DSFTool.exe --dsf2text "%fileName%.dsf" "%fileName%.txt"
  15. rem nettoyage des fichiers inutiles
  16. del %fileName%.dsf *.txt *txt.sea_level.raw
  17. rem déplacement au bon endroit
  18. move D:\XPTools\tools\*.txt.elevation.raw D:\XPTools\Processed\
  19. goto :loop
  20. :finish
  21. echo Done.
  22. pause


 
Bonne journée !  :)


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

  [RÉSOLU] Envoyer une liste de noms de fichiers vers un exécutable

 

Sujets relatifs
Afficher un bouton "envoyer" après validation reCAPTCHACréer une liste déroulante
Choisir une valeur par défaut sur une liste de choixRécupérer 2 élément à part dans des variable à partir d'un liste.
remplacer les noms par les images[résolu]Insérer des fichiers jmol dans page web
[VBA] UPnP : « Lire sur l’appareil » : comment pousser un fichier?Trier les éléments d'une liste afin de maximiser l'espacement de deux occurrence
[PHP] - Extraire chemins des fichiers mp3 dans balise audioRedirection pour aller chercher certains fichiers sur un autre site
Plus de sujets relatifs à : [RÉSOLU] Envoyer une liste de noms de fichiers vers un exécutable


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR