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

 


Dernière réponse
Sujet : création de fichier batch (newbie !)
quetquet

Freekill a écrit a écrit :

 
 
De rien ma lootre?  :jap:  




 
:love: :love:


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
quetquet

Freekill a écrit a écrit :

 
 
De rien ma lootre?  :jap:  




 
:love: :love:

quetquet

CARBON_14 a écrit a écrit :

Freekill est très astucieux..
 
J'avais pas vérifié hier apm, mais le rename *.bid.z en *.z, ça marche pas, car seule la "vraie" extension terminale est affectée. La fonction n'avait pas "rouspété". Toujours trop pressé...
 
Sinon, si c'est de l'ASCII pur qui est généré (codes lisibles dans un éditeur de texte, comme les fichiers .MOL), j'ai un programme DOS (#16ko) qui récupère les données du flux d'entrée standard et qui met tout dans un fichier.
 
Pour l'utiliser dans un batch et créer fichiers .z:
for %%i in (*.pdb) do autozmat.exe -i pdb | re_nome %%i z  
 
Il n'accepte que les noms 8.3, les noms trop longs sont troncaturés à 8, les noms à espace sont pas traîtés.
Dispo par mail pour test (source dispo).  




 
les fichiers *.pdb (protein data bank je crois...) tout comme les fichiers *.z sont en ASCII ...
donc ca pourrait aussi rulaize avec ton prog ...
même si freekil a pondu un truc pas mal tu peux toujours m'envoyer le prog pour info ...(ca m'embete qd même que ca troncature les fichiers ...tu es chimiste, tu connais les noms de molécules  ;) )
merci a toi  :jap:  
 
ps : mon mail pour le prog -> quetquet59@hotmail.com
thxxxxxxxxxxxxxxxxx  :D  
 
re-ps : tu taffes ou ds la chimie ???????????? :??:

Freekill

quetquet a écrit a écrit :

 
 
merci ma poule cai impec ...ca roulaize grave ! :hello:  




 
De rien ma lootre?  :jap:

quetquet

Freekill a écrit a écrit :

Il faut doubler les % quand on veut faire un for dans un fichier batch.
 

Code :
  1. @echo off
  2. echo -- Conversion en cours --
  3. for %%i in (*.pdb) do autozmat.exe -i pdb %%i > %%i.tmp
  4. echo -- Conversion finie --
  5. echo -- Renommage fichiers --
  6. md tmp
  7. move *.tmp tmp\
  8. cd tmp
  9. ren *.tmp *.
  10. ren *.pdb *.z
  11. cd..
  12. move tmp\*.*
  13. rd tmp
  14. echo -- Renommage fini --
  15. echo -- fin du programme --


 
 :hello:  




 
merci ma poule cai impec ...ca roulaize grave ! :hello:

quetquet

Je@nb a écrit a écrit :

C:\boss42\conversion\autozmat.exe -i pdb *.pdb > *.z ça marche pas ?  




 
ca marche po ! merci qd meme pour ta contribution ... :hello:

Carbon_14 Avec 4DOS, on f(er)ait dans un batch
 
for %%f in (*.pdb) do C:\boss42\conversion\autozmat.exe -i pdb %%f > %@name[%%f].z
 
J'ai pas consulté leur site voir si ça fonctionne sous Win2000. C'était un remplaçant très amélioré de COMMAND.COM. Vu que le DOS faiblit (pour disparaître) selon la volonté de son concepteur, ça augure des difficultés.
Carbon_14 Non, mais il récupère les caractères issus de stdout.
 
Le "piping" sous Win32/Console semble compliqué (j'ai regardé hier soir) car ioctl() du DOS n'est plus dans les librairies.
 
Le > redirige vers un port LPT, un fichier, autre. | passe au voisin. Si on fait un filtre, on peut faire  
DIR | filtre > fichier par exemple. Le filtre va traiter les caractères de stdin puis les renvoyer sur stdout.
 
C'est ce que je crois avoir vaguement saisi dans mes débuts de prog C/DOS en 1994, mais suis pas très éclairé :D. Toujours trop pressé..
 
Il me semble que l'instruction do va jusqu'au bout de ligne => on peut en mettre une "tartine".
Freekill C'est "|" le séparateur à mettre entre chaque action du for ?
 
Cool, j'apprends quelque chose?
Carbon_14 Freekill est très astucieux..
 
J'avais pas vérifié hier apm, mais le rename *.bid.z en *.z, ça marche pas, car seule la "vraie" extension terminale est affectée. La fonction n'avait pas "rouspété". Toujours trop pressé...
 
Sinon, si c'est de l'ASCII pur qui est généré (codes lisibles dans un éditeur de texte, comme les fichiers .MOL), j'ai un programme DOS (#16ko) qui récupère les données du flux d'entrée standard et qui met tout dans un fichier.
 
Pour l'utiliser dans un batch et créer fichiers .z:
for %%i in (*.pdb) do autozmat.exe -i pdb | re_nome %%i z  
 
Il n'accepte que les noms 8.3, les noms trop longs sont troncaturés à 8, les noms à espace sont pas traîtés.
Dispo par mail pour test (source dispo).
Freekill Il faut doubler les % quand on veut faire un for dans un fichier batch.
 

Code :
  1. @echo off
  2. echo -- Conversion en cours --
  3. for %%i in (*.pdb) do autozmat.exe -i pdb %%i > %%i.tmp
  4. echo -- Conversion finie --
  5. echo -- Renommage fichiers --
  6. md tmp
  7. move *.tmp tmp\
  8. cd tmp
  9. ren *.tmp *.
  10. ren *.pdb *.z
  11. cd..
  12. move tmp\*.*
  13. rd tmp
  14. echo -- Renommage fini --
  15. echo -- fin du programme --


 
 :hello:

quetquet

Je@nb a écrit a écrit :

C:\boss42\conversion\autozmat.exe -i pdb *.pdb > *.z ça marche pas ?  




 
cai vrai que cai con mais j'avais po pensé a ca ...
j'essaie demain matin dés que j'arrive et je vous tiens au courant ... :hello:

Je@nb C:\boss42\conversion\autozmat.exe -i pdb *.pdb > *.z ça marche pas ?
quetquet :sweat:
quetquet

CARBON_14 a écrit a écrit :

L'OS, c'est quoi ? 95/98/Me/NT/2000/XP ? Lancement à partir d'une "boîte de dialogue" DOS depuis Windows, ou démarrage sous DOS ? Sous 3.11 ou DOS pur, ça peut pas marcher car 8.3 seulement (pas 8.3.3.3 !)
 
Entre chimistes, faut bien s'entraîder :), l'info est un outil, à peine plus :D :D ...
 
Je suis sous NT4 ici, je peux essayer 95/98SE/Me/2000 ce soir (si j'oublie pas).
 
Quand ça marchera, le rename pourra être dans le batch aussi.  




 
W2K / lancement boite de dialogue dos
le but cai de double-cliker sur le batch pour convertir les fichiers et hop (cai pas pour moi que je fais ces batchs :) )
merci pour ton aide :jap:
 
ps: tu fais koi ds la chimie ?

Carbon_14 L'OS, c'est quoi ? 95/98/Me/NT/2000/XP ? Lancement à partir d'une "boîte de dialogue" DOS depuis Windows, ou démarrage sous DOS ? Sous 3.11 ou DOS pur, ça peut pas marcher car 8.3 seulement (pas 8.3.3.3 !)
 
Entre chimistes, faut bien s'entraîder :), l'info est un outil, à peine plus :D :D ...
 
Je suis sous NT4 ici, je peux essayer 95/98SE/Me/2000 ce soir (si j'oublie pas).
 
Quand ça marchera, le rename pourra être dans le batch aussi.
quetquet :cry:
quetquet

CARBON_14 a écrit a écrit :

J'a essayé. Ca va pas trop car on fabrique des fichiers .pdb.z :D  
 
En fait, à la main, il faut taper
for %i in (*.pdb) do C:\boss42\conversion\autozmat.exe -i pdb %i > %i.z  
 
ou mettre dans un batch la ligne de commande
for %%i in (*.pdb) do C:\boss42\conversion\autozmat.exe -i pdb %%i > %%i.z  
 
Cela créera des fichiers .pdb.z qui faudra ensuite renommer par
rename *.pdb.z *.z
 
Avec 4DOS (shareware), on peut faire ça en direct avec des paramètres "alambiqués". Mais il n'est pas gratuit.
 
Si on précise un chemin dans la redirection, ça peut permettre de ne pas les mélanger
    > c:\convert\%i.z par exemple
 
Sinon, attention à priori aux chemins de plus de 8 caractères (on peut mettre du 8.3), je sais pas si DOS gère tout bien. C'est plus sur, par précaution.  




 
thx !!:jap:
ca marche pour créer des fichiers *.pdb.z ...c'est deja ca !
mais par contre pour les renommer en *.z ca marche po ...
z'oriez pas une explication a ca ? :??:

Carbon_14 J'a essayé. Ca va pas trop car on fabrique des fichiers .pdb.z :D  
 
En fait, à la main, il faut taper
for %i in (*.pdb) do C:\boss42\conversion\autozmat.exe -i pdb %i > %i.z  
 
ou mettre dans un batch la ligne de commande
for %%i in (*.pdb) do C:\boss42\conversion\autozmat.exe -i pdb %%i > %%i.z  
 
Cela créera des fichiers .pdb.z qui faudra ensuite renommer par
rename *.pdb.z *.z
 
Avec 4DOS (shareware), on peut faire ça en direct avec des paramètres "alambiqués". Mais il n'est pas gratuit.
 
Si on précise un chemin dans la redirection, ça peut permettre de ne pas les mélanger
    > c:\convert\%i.z par exemple
 
Sinon, attention à priori aux chemins de plus de 8 caractères (on peut mettre du 8.3), je sais pas si DOS gère tout bien. C'est plus sur, par précaution.
Carbon_14 J'ai essayé (NT4/fenêtre DOS) la solution de Stranger posté le 06-11-2001 à 20:20:42, mais ça marche pas en ligne de commande (avec copy, car ça coïnce sur le %%i).  
 
Sur http://www.houlden.f9.co.uk/msdos/for.htm, il affirment que c'est la bonne méthode si la commande est DANS UN BATCH (moi j'ai essayé en ligne de commande !)...
 
Ce qu'il faudrait faire selon lui est
for %%i in (*.pdb) do C:\boss42\conversion\autozmat.exe -i pdb %%i.pdb > %%i.z
Carbon_14 Faut que je retrouve mes notes (issues du site), car c'est juste un brin plus compliqué. En effte le %i comporte l'extension donc on veut créer un fichier .pdb.z ce qui ne fonctionne pas.
 
L'"idéal" serait que le autozmat.exe génère des fichiers dont l'extension soit .z, mais comme on sort sur le stdout, ...
 
Si personne ne donne la solution avant, j'essaie de trouver où j'ai fichu le fichier d'info...
darklord22

JPA a écrit a écrit :

si t'es sous NT ou 2000 (je ne suis pas sur que for fonctionne sous win 9x) :
 
 
for %i in (*.*) do C:\boss42\conversion\autozmat.exe -i pdb %i.pdb > %i.z  
 
A tester bien sur avant de généraliser...  




 
essaie
 
for %i in (*.pdb) do C:\boss42\conversion\autozmat.exe -i pdb %i.pdb > %i.z  
 
Bien sur tu dois te mettre dans le répertorie ou il y a les fichiers pdb ...

quetquet Eupe  :D
quetquet

JPA a écrit a écrit :

si t'es sous NT ou 2000 (je ne suis pas sur que for fonctionne sous win 9x) :
 
 
for %i in (*.*) do C:\boss42\conversion\autozmat.exe -i pdb %i.pdb > %i.z  
 
A tester bien sur avant de généraliser...  




 
ca a po l'air de marcher ... :(  
 
ps:chui sous 2000
 
edit:
ca donne ca:
 
C:\boss42\conversion>conversion.bat
\boss42\conversion\autozmat.exe était inattendu.
 
C:\boss42\conversion>for \boss42\conversion\autozmat.exe -i pdb i.z
C:\boss42\conversion>
 
 :(

 

[edtdd]--Message édité par quetquet--[/edtdd]

JPA si t'es sous NT ou 2000 (je ne suis pas sur que for fonctionne sous win 9x) :
 
 
for %i in (*.*) do C:\boss42\conversion\autozmat.exe -i pdb %i.pdb > %i.z  
 
A tester bien sur avant de généraliser...
quetquet j'ai créé un fichier batch qui utilise un prog pour transformer un fichier .pdb (fichier de coordonnées pour des molecules) en un fichier .z (coordonnées pour des molecules exploitable par un programme bien particulier)
 
le batch est tout simple
 
C:\boss42\conversion\autozmat.exe -i pdb glucose.pdb > glucose.z
 
jusqu'ici tout va bieng ...le truc c'est que je voudrais que ce batch convertisse TOUS les fichiers pdb se trouvant ds le rep et non pas seulement le glucose (sinon a quoi ca sert de faire un batch si c'est pour l'editer a chaque fois que je dois utiliser autozmat hein ?)
 
j'espere que j'ai été clair !!!!
 
 :hello:  
 
ps : m'en voulez pas chui etudiant en chimie, pas en info ;)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)