Récupérer les infos d'un fichier txt en batch

Récupérer les infos d'un fichier txt en batch - Shell/Batch - Programmation

Marsh Posté le 05-12-2005 à 09:58:43    

Bonjour!
 
J'aimerai savoir comment lire les infos d'un fichier en batch svp?
En fait pas en commande réellement.
 
J'ai un fichier batch qui a pour but de traiter les infos d'un fichier txt.
 
Je pensais qu'un fichier.bat fichier.txt aurait suffit dans le msdos ou un fichier.bat < fichier.txt mais il semble que je ne suive pas le bon chemin.
 
Quelqu'un pourrait-il éclairer ma lanterne? Merci

Reply

Marsh Posté le 05-12-2005 à 09:58:43   

Reply

Marsh Posté le 05-12-2005 à 12:50:08    

Up hop hop

Reply

Marsh Posté le 05-12-2005 à 15:24:33    

Pourquoi fichier.bat < fichier.txt ne te convient pas ?
 
Que contient fichier.txt ? une seule ligne ? plusieurs lignes ? lignes de taille fixe ? taille variable ? Ascii, Unicode, binaire ?
 
Que cherches-tu à faire ? Mettre tout le contenu dans une seule variable ? dans plusieurs variables ? autre chose ?
 
Qu'as-tu commencé à faire ? Montrer le code qui ne marche pas peut aider à exposer le problème.

Reply

Marsh Posté le 05-12-2005 à 15:30:07    

Pour lire un fichier texte avec un .bat DOS, tu peux utiliser une boucle du genre :
FOR /F "TOKENS=1,2,3" %%a IN ('C:\fichier.txt') DO ...
 
C'est cela que tu cherches ?
Si oui, regarde l'aide de la commande FOR pour plus de détails.
Cordialement,

Reply

Marsh Posté le 05-12-2005 à 17:00:46    

Je cherche en fait à créer des utilisateurs dans active directory.
Je suis pratiquement sûr de l'avoir déjà fait (il fut un temps) sans passer par une boucle for.
 
Je vous met ce que j'ai déja commencé à faire.
 

Code :
  1. IF "%1"=="" GOTO fin
  2. ECHO "#============ CREATION DES VARIABLES =============#"
  3. SET prenom=%1
  4. SET init=%2
  5. SET nom=%3
  6. SET pass=%4
  7. SET groupe=%5
  8. SET serveur=\\srvadm
  9. SET user=%init%-%nom%
  10. SET chbase=f:\Administration
  11. ECHO "#===============CREATION DU DOSSIER ===============#"
  12. MKDIR %chbase%\%user%
  13. ECHO "#=============== PARTAGE DU DOSSIER ================#"
  14. NET SHARE %user%$=%chbase%\%user%
  15. ECHO "#============ CREATION DE L'UTILISATEUR ============#"
  16. NET USER %user% %pass /FULLNAME:"%prenom% %nom%" /HOMEDIR:%serveur%\%user%$ /ADD
  17. ECHO "#======= ATTRIBUTION DES DROITS SUR LE DOSSIER =======#"
  18. echo y|CACLS %chbase%\%user% /G %user%:C
  19. :fin
  20. PAUSE


 
 
Quand au fichier texte, il contient plusieurs lignes variables mais avec le même nombre de paramètres (5).
Ces paramètres correspondent en fait aux données qui seront utilisées pour la création de l'utilisateur comme le nom, le prénom, l'initiale du prénom (pour le format du nom de session), le mot de passe et le groupe.


Message édité par Mercusio le 05-12-2005 à 17:02:45

---------------
Mercusio
Reply

Marsh Posté le 23-12-2005 à 10:27:04    

je pense que tu as suivé le bon chemin fichier.bat < fichier.txt
Mais il fau que le fichier text contient:
1er ligne: prenom init nom pass groupe
2eme "vide"
3eme "vide"
etc
les chaines de caracteres passé en parametre "prenom int nom etc" doivent séparés par un espace, en plus faut evité les chaines qui contients un espace sinon il faut que tu gére les "".
un fichier text par persone


Message édité par naouf8 le 23-12-2005 à 10:28:50
Reply

Marsh Posté le 23-12-2005 à 11:06:31    

En fait je m'en suis tiré différemment.
Le fichier .txt je l'ai renommé en .bat et devant chaque ligne j'ai mi un "call fichier.bat" (appel du premier fichier bat bien entendu).
Et ça marche niquel.
J'ai plus besoin du fichier text


---------------
Mercusio
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed