Se connecter avec
S'enregistrer | Connectez-vous

convertir une liste de fichiers en fichiers ? [résolu]

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte
Expert Programmation

Non, ce n'est pas compliqué.

Si tu es sous windows, en batch:
  1. FOR /F %%A in (tonFichierTexte.txt) do @echo. > %%A

ça boucle sur les ligne dans tonFichierTexte.txt, et ça fait un "echo." (affichage d'une ligne vide) qui est redirigé (avec le >) dans un nouveau fichier porant le nom indiqué à la ligne courante dans le fichier texte.

tu peux faire un petit programme en java, c ou autre et après l'exécuter et t'aura ta liste de fichiers faut juste que tu sache :
1 - ouvrir un fichier texte avec le langage que t'as choisi
2 - lire le fichier texte ligne par ligne
3 - pour chaque ligne crée un nouveau fichier ayant comme nom l'information que t'as lu comme ligne

tu peux chercher des petits tutoriaux sur la manipulation des fichiers avec les bases de programmation, je te conseille java c'est assez simple pour manipuler des fichiers
Expert Programmation

quecg2 a dit :
eeeee merci, mais je doit metre ca où ? (invité de commande ? executer ?) car en invite de commance, l'ordi me dit que %%A est introuvable.

merci quand meme !

Tu mets ça dans un fichier .bat et tu l'exécutes

Citation :
tu peux faire un petit programme en java, c ou autre et après l'exécuter et t'aura ta liste de fichiers faut juste que tu sache

Il vaut mieux utiliser le python, c'est beaucoup plus rapide et simple ;) 
Expert Programmation

Citation :
non, ca ne marche pas ...

sans le @ devant le echo, ça affiche quoi ?

Citation :
Est il possible de mettre du texte dans ces fichiers ?

Ceci:
echo ton texte
affiche à l'écran ton texte

Ceci:
commande > ton_fichier
exécute commande et redirige son affichage dans ton_fichier

Ceci:
echo ton texte > ton_fichier
écrit donc ton texte dans ton_fichier.


je vais te reexpliquer :
Je voudrais un script (bat par exemple) qui permette de creer des fichiers (ex : coolman(54)!.php ...) qui aient tous (dans les fichiers créent) un texte genre <?php .......>.

Voila.

Sinon, pour répondre a ta question, le fichier en .bat, après le lancement m'affiche le nom des différents fichiers créent a une vitesse très rapide.

voila !
@@ bientôt
Expert Programmation

Oui c'est ça que je veux voir.
Apparemment, tu le lances directement. Donc, pour voir ce qu'il y a d'écrit, tu as 2 méthodes:
- tu le lances en ligne de commande en exécutant cmd
- tu ajoutes la commande PAUSE à la fin du fichier
et tu copies/coller le texte ici.

lol, voila :

C:\Documents and Settings\Famille CG\Bureau\bat>FOR /F %A in (tonFichierTexte.txt) do echo. 1>"%A"


C:\Documents and Settings\Famille CG\Bureau\bat>echo. 1>"test(parenthese)!.php"

C:\Documents and Settings\Famille CG\Bureau\bat>echo. 1>"test.point.php"

C:\Documents and Settings\Famille CG\Bureau\bat>echo. 1>"test"

C:\Documents and Settings\Famille CG\Bureau\bat>echo. 1>"teste"

C:\Documents and Settings\Famille CG\Bureau\bat>pause
Appuyez sur une touche pour continuer...
Expert Programmation

OK, l'espace est bien le délimiteur par défaut.

Je pense que tu peux passer outre le problème:
- soit en enlevant le délimiteur
  1. FOR /F "delims=" %%A in (tonFichierTexte.txt) do @echo. > "%%A"


- soit en indiquant que %%A contient tout le reste à partir du début:
  1. FOR /F "tokens=*" %%A in (tonFichierTexte.txt) do @echo. > "%%A"


Si ça ne marche pas, tu peux cumuler les 2 options, et si toujours pas, essaie en prenant un autre délimiteur (par exemple "delims=;")

:ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange:  :ange: 

super, ca marche a merveille, surtout celui la :
FOR /F "tokens=*" %%A in (tonFichierTexte.txt) do @echo. > "%%A"



merci beaucoup pour ton aide precieuse !!!!



Sinon, pour mettre du texte dans les fichiers crées,
Y a t'il un moyen ?


encore merci pour ton aide !!!!
:D  :D  :D 
Expert Programmation

  1. @echo.

avec le point collé au echo, ça permet de faire une ligne vide, mais tu peux y mettre du texte:
  1. @echo du texte


après le echo, le ">" permet d'écrire dans le fichier en effaçant tout ce qu'il y avait avant.
le ">>" peremt d'écrire une ligne supplémentaire à la fin du fichier (et n'efface rien).

Un exemple plus complet (non testé):
  1. @echo off
  2.  
  3. FOR /F "tokens=*" %%A in (tonFichierTexte.txt) do (
  4. echo Creation du fichier %%A
  5.  
  6. echo Premiere ligne > "%%A"
  7. echo Deuxieme ligne >> "%%A"
  8. echo Troisieme ligne >> "%%A"
  9. )
  10.  
  11. pause
Lassé par la pub ? Créez un compte
Tom's guide dans le monde