Bonjours, j’ai des fichiers .txd (sorte d’archive) qui contiennent chacunes une ou plusieur images .tga.
J’ai aussi un logiciel qui permet d’ouvrir et d’extraire ces archives: TXD Workshop
Le pitch, c’est que je doit extraire plus de 2700 .txd !
Alors j’ai décidé d’ecrire un petit script batch qui va se charger de faire le boulot, voici d’abord, une partie de l’aide de txd wokshop:
en gros, la ligne qui m’intéresse c’est:
txdworkshop /extract <in_file>
Voila, maitenant on va pouvoir attaquer
Voici mon algo :
Se placer dans le dossier ou il y a tous les *.txd
Pour chaque fichier txd
Extraire le contenu de *.txd
Lalgo est bon ou pas ?
Si il est bon, voila comment jecrit ca :
Ca ne marche pas, normalement, je devrais avoir autant de dossier que darchive txd dans mon repertoire text export2, des dossiers portant le même nom que leur txd respectif, et contenant les images .tga « décompressé »
Voila, si quelquun pouvait me dire ce qui ne va pas
Merci d’avoir lu jusqu’ici, et merci de votre aide.
Normalement, on ne met rien, sauf les guillemets autour des noms de répertoire/fichier comme tu l’as fait
je viens de faire un essai rapide sur un repertoire de test (en remplaçant txdworkshop /extract par copy /b) : il accepte bien la syntaxe telle que tu l’as écrite :
txdworkshop /extract "C:\Documents and Settings\HP_Propriétaire\Bureau\text export txd2\%%f"
J’ai solutionné une partie du probléme en placant un pause a la fin, pour lire ce que chacune des commande avait retourné.
Deja, le cd “…” du début échoué, il n’arrive pas a accéder a HP_Porpriétaire
Ca c’est réglé, étant donné que mon .bat est sur le bureau et que mon dossier test export aussi, j’ai fait un cd “text export txd2”
ce dossier contient 3 txd, ce qui me permet de vérifier que la boucle for fonctionne
Ca marche, 3 boucle, mais a chaque boucle, j’ai un son windows genre erreur qui retenti !
Bon, j’ai trouvé, en fait le probléme du cd “HP_Propriétaire” m’as mis la puce a l’oreil
Il aime pas les accents ms dos
J’ai déplacé le dossier text export txd2 dans C:
voici mon script:
Ca fonctionne impec
Je reviendrais peut étre pour la seconde phase de l’extraction: la suppression de tous les sous dossiers…
Il aime pas les accents ms dos
J’en étais au meme point ; effectivement, il faut “corriger” le script à l’aide de la commande EDIT du DOS pour avoir les bonnes valeurs de caractères étendus en ASCII
J’ai déplacé le dossier text export txd2 dans C:
tu aurais pu utiliser un lecteur virtuel (commande subst du DOS) ca évite de surcharger la racine de C:
J’ai exécuté mon script en entier, pour les 2700 txd
maintenant, j’ai 2700 sous dossiers dans mon repertoire “text export txd2” qui contiennent chacun ce que leur archive txd respective contenait.
Je voudrais déplacer le contenue de chaque sous dossier directement dans le dossier "text export txd2", pour ensuite supprimer (ca je le ferais manuellement) tous les sous dossiers vides.
Il y a la commande MOVE, voici l’aglo que j’ai prevu:
Seulement je ne vois pas du tout comment écrire ca en batch, deja les dossiers n’ont pas d’extension, et il faut bien que je fasse le tri dans la condition de ma boucle for.
Ensuite je pourrais faire un MOVE pour chacun des .tga…
Quelqu’un pourrait écrire ce script, enfin la boucle for…
Sachant que la boucle For n’est pas récursive
Sachant que ce n’est pas la totalité de tes sous dossiers que tu veux déplacer
Ca me paraît assez compliqué en DOS
Par contre, en VBS, ca ne devrait pas poser de problème
J’ai essayé ton script, mais ca ne fonctionne pas
J’ai placé un échantillon sur mon ftp, avec 10 dossiers + ton script: test_copie.zip
Pour le VB script sinon, ca serait quoi le code source? et ca ce compile avec quoi (VB6 suffit?)
Parce que je ne m’y connait pas vraiment en programmation, a part php.
Je connais un peut le C et presque pas le VB
Si, si, ca marche, à ceci près qu’il faut que tu rajoutes des guillemets pour délimiter les arguments
Par contre, il manque des fichiers dans la cible. Sans doute des doublons de noms mais je n’arrive pas à les trouver pour le moment
Et c’est un déplacement plutot qu’un copie, ca economise de l’espace même si c’est temporaire
Merci pour toutes les reponses a ce topic, et voici mon topic "complémentaire", pour ceux qui se demandent a quoi tout ca peut bien servir: bidouille GTA et 3D Studio Max