IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Demande d'information sur la programmation pour script bat sous Windows


Sujet :

Scripts/Batch

  1. #1
    Membre régulier Avatar de Bahan
    Inscrit en
    Avril 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 147
    Points : 88
    Points
    88
    Par défaut Demande d'information sur la programmation pour script bat sous Windows
    Bonjour à toutes et à tous!

    Je cherche à créer un script sous Windows et mon choix s'est tourné vers un .bat (je ne sais pas s'il existe autre chose à vrai dire sous Windows).

    Je chercherais donc à faire les opérations suivantes :
    1. Créer un dossier
    2. Copier des fichiers d'un dossier A vers un dossier B sur une même machine
    3. Récupérer un paramètre en entrée du script
    4. Ajouter certaines lignes d'un fichier vers un autre suivant la valeur d'une certaine colonne du premier fichier

    En gros, comme vous pouvez le remarquer, je n'y connais rien du tout en .bat. Dnoc ma question au final est : où puis-je trouver toute la documentation recensant les différentes commandes en bat ainsi que les opérateurs disponibles, boucles etc...

    Merchi d'avanche camarades!

    Bahan
    Bats-toi de toutes tes forces tant que tu es en vie, et n'abandonne que quand tu es mort

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Tout cela me semble faisable, d'autant que déjà traité ici
    1. Créer un dossier
    2. Copier des fichiers d'un dossier A vers un dossier B sur une même machine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY nomcompletduficheir1 nomcompletduficheir2
    3. Récupérer un paramètre en entrée du script
    Utilisation des variables %1 %2 etc.
    Par exemple pour un fichier monbat.bat qui affiche une saisie :
    Contenu du fichier monbat.bat
    Appel du fichier monbat.bat
    Résultat
    4. Ajouter certaines lignes d'un fichier vers un autre suivant la valeur d'une certaine colonne du premier fichier
    C'est faisable mais plus complexe et surtout il faudrait plus d'informations.

    Sinon, il est aussi possible de faire un script VBS

  3. #3
    Membre régulier Avatar de Bahan
    Inscrit en
    Avril 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 147
    Points : 88
    Points
    88
    Par défaut
    Merci (fort tardif ma fois) !

    J'ai un autre soucis.

    J'ai un fichier arborescence.conf qui a deux colonnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomDuDossierACreer|Hierarchie
    Je souhaite lire les différentes lignes de ce dernier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for /F "eol=# tokens=1,2 delims=|" %%D in (arborescence.conf) do (
      if %%E=="1" ( 
        set DirRacine=%%D
        set DirACreer=%%D
      ) else (
       set DirACreer=%DirRacine% %%D
      )
    )
    Voici le contenu de mon fichier arborescence.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MonDossier1,1
    MonSousDossier1,2
    MonSousDossier2,2
    MonSousDossier3,2
    MonSousDossier4,2
    Le problème c'est que DirACreer est tout le temps égal à MonSousDossier4...
    Pourtant, je ne vois pas trop ce qui coince dans ma syntaxe.

    Est-ce que set définit une variable une bonne fois pour toute sans possibilité de la modifier ensuite ?

    Si quelqu'un pouvait me dire d'où vient le problème ^_^.

    Bahan
    Bats-toi de toutes tes forces tant que tu es en vie, et n'abandonne que quand tu es mort

  4. #4
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Pour créer et utiliser une variable dans une même boucle for il faut activer l'expension retader des variable.

    Regarde ici: http://www.developpez.net/forums/sho...d.php?t=432083


    Donc pour toi sa donnerai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    setlocal enableDelayedExpansion 
    for /F "eol=# tokens=1,2 delims=|" %%D in (arborescence.conf) do (
      if %%E=="1" ( 
        set DirRacine=%%D
        set DirACreer=%%D
      ) else (
       set DirACreer=!DirRacine! %%D
      )
    )
    endlocal


    Citation Envoyé par Bahan Voir le message
    4. Ajouter certaines lignes d'un fichier vers un autre suivant la valeur d'une certaine colonne du premier fichier
    Donne moi plus d'informations

  5. #5
    Membre régulier Avatar de Bahan
    Inscrit en
    Avril 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 147
    Points : 88
    Points
    88
    Par défaut
    Merci pour l'info, c'est déjà ça de gagner.

    Pour cette syntaxe :
    Elle est équivalente à
    ?

    Je zyeute un peu la liste des commandes sur le site de microsoft.

    Merci d'avance.

    Bahan
    Bats-toi de toutes tes forces tant que tu es en vie, et n'abandonne que quand tu es mort

  6. #6
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Quand on utilise l'expension retadre des variable, dans les variables on remplace les % par des !

    Donc oui c'est l'équivalent, mais selement quand on active l'expension retadre des variable


    Et si tu m'expliquer un peut le code que tu veut faire ?

  7. #7
    Membre régulier Avatar de Bahan
    Inscrit en
    Avril 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 147
    Points : 88
    Points
    88
    Par défaut
    Re.

    Merci pour tes explications.

    Je vais avant tout reposer une nouvelle question avant de te parler de mon script.

    Comment protéger les caractères spéciaux dans un echo ? En effet, je perds les ! par exemple quand je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo Echec de la creation du repertoire!!
    En fait, voici le but de mon code :
    Etape 1 : Recuperation d'un parametre en entrée
    Etape 2 : Creation d'une arborescence donnee decrite dans un fichier conf
    Etape 3 : Suivant valeur du parametre en entree, deplacement de certains fichiers d'un repertoire donne vers un des repertoires de l'arborescence creee.
    Etape 4 : Suivant parametre en entree, creation de certains fichiers dans un certain repertoire de l'arborescence avec un certain contenu dependant d'un autre fichier de conf

    Etape transverse : j'essaie de faire un fichier de log des différentes étapes qui se remplit au fut et à mesure..

    Pour l'instant, j'ai juste terminé l'étape 2 + la mise a jour du fichier log.

    Bahan
    Bats-toi de toutes tes forces tant que tu es en vie, et n'abandonne que quand tu es mort

  8. #8
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par Bahan Voir le message
    Re.Etape 2 : Creation d'une arborescence donnee decrite dans un fichier conf
    Tu veut dire que dans un fichier tu a une arbércense de répertoire et tu veut la recréer ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /f "delims=" %%i in ('type fichier.conf') do MKDIR "%%i"



    Citation Envoyé par Bahan Voir le message
    Etape 3 : Suivant valeur du parametre en entree, deplacement de certains fichiers d'un repertoire donne vers un des repertoires de l'arborescence creee.
    Quel paramétre ?

    si quoi on déplace les fichiers ? si quoi on ne les déplace pas ?

Discussions similaires

  1. Demande explication sur un programme pour iPhone
    Par cetiop dans le forum Développement iOS
    Réponses: 3
    Dernier message: 30/12/2010, 15h40
  2. Demande d'informations sur des formations pour le DIF.
    Par MenshaKaine dans le forum Emploi
    Réponses: 0
    Dernier message: 29/01/2010, 12h26
  3. demande d'information sur les processus sql server
    Par patrick B dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 02/11/2005, 14h04
  4. Réponses: 3
    Dernier message: 01/02/2004, 21h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo