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 :

Aide script batch [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre habitué Avatar de Coeur de Pirat
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 82
    Points : 150
    Points
    150
    Par défaut Aide script batch
    Bonjour la communauté j'ai une question
    Est ce que quelqu'un saurait comment on fait dans un script Batch :
    Demander à l'utilisateur d’insérer le chemin vers mon fichier .csv, car dés que je change de poste , je suis obligé de revoir mon script et changer le répertoire :
    Merci de votre aide les amis
    PS: Artemus 24 Merci beaucoup pour votre aide si précieuse , j'ai pu avancer grâce à vous

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 064
    Points
    19 064
    Par défaut
    Salut Coeur de pirat.

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @echo off
     
    chcp 1252 > nul
     
    cls
    @echo Veuillez saisir votre chaine de caractère :
    @echo -------------------------------------------
    @echo.
     
    set chaine=
    set /P chaine=?
     
    @echo.
    @echo vous avez saisie : %chaine%
    @echo.
    @echo.
    pause
    exit

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre habitué Avatar de Coeur de Pirat
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 82
    Points : 150
    Points
    150
    Par défaut
    Merci beaucoup artemus 24
    ça marche

  4. #4
    Membre habitué Avatar de Coeur de Pirat
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 82
    Points : 150
    Points
    150
    Par défaut
    Bonjour Artemus
    Finalement , je viens de me rendre compte que le processus n'est toujours pas automatisé !
    Enfaite, il faut aussi que je mette en paramètre dans mon script sql, l'appel du fichier excel, je l'ai mis en dur dans mon script comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    LOAD DATA LOCAL INFILE 'C:\\Stage\\CEA-PA.csv'
    INTO TABLE `base_configuration`.`traducteur_OLYMPUS`
    CHARACTER SET utf8
    FIELDS TERMINATED BY ';'
    ENCLOSED BY '"'
    ESCAPED BY '\\' LINES
    TERMINATED BY '\r\n'
    IGNORE 1 LINES;
    Merci pour votre aide,
    cordialement,

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 064
    Points
    19 064
    Par défaut
    Salut Cœur de Pirat.

    Au lieu de le mettre en dur, tu utilises la variable contenant ce que tu viens de saisir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    LOAD DATA LOCAL INFILE %chaine%
    INTO TABLE `base_configuration`.`traducteur_OLYMPUS`
    CHARACTER SET utf8
    FIELDS TERMINATED BY ';'
    ENCLOSED BY '"'
    ESCAPED BY '\\' LINES
    TERMINATED BY '\r\n'
    IGNORE 1 LINES;
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Membre habitué Avatar de Coeur de Pirat
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 82
    Points : 150
    Points
    150
    Par défaut
    J'ai essayé , ça ne marche pas

  7. #7
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 064
    Points
    19 064
    Par défaut
    Même entre apostrophe ?
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  8. #8
    Membre habitué Avatar de Coeur de Pirat
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 82
    Points : 150
    Points
    150
    Par défaut
    Oui oui ! pareil ça marche pas !
    j'ai trouvé ceci sur internet :
    mysql –uuser_id -ppassword –h mysql-host -A -e "set @start_date=\"$start_date\"; source \"$sql_script\";" >\"$data_file\";"
    mais c'était pas résolu !

  9. #9
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 064
    Points
    19 064
    Par défaut
    J'ai fait une recherche, et il me semble que mysql n'accepte pas de mettre autre chose que le nom littérale d'un fichier dans le "load data local infile".

    J'ai essayé en passant par "PREPARE", mais cela me provoque une erreur.
    --> http://dev.mysql.com/doc/refman/5.7/...tatements.html
    Le "Load Data Local Infile" n'est pas accepté dans un "PREPARE".
    Les commandes autorisées sont en fin du lien ci-dessus.

    Donc, il va falloir trouver une autre solution si tu veux paramétrer le nom de tes fichiers.
    Par exemple, encapsuler cela par du php au lien de le faire en batch windows.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  10. #10
    Membre habitué Avatar de Coeur de Pirat
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 82
    Points : 150
    Points
    150
    Par défaut
    Bonjour Artemus j'ai résolu mon problème finalement, j'ai créé un fichier temporaire dans mon .bat comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XCOPY /y /q %fileEXCEL% TEMP-CEA-PA.csv*
    et je lui est demander de le détruire après la copie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DEL /F /Q TEMP-CEA-PA.csv
    Voila, Merci

  11. #11
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 064
    Points
    19 064
    Par défaut
    Salut Coeur de Pirat.

    J'étais focalisé sur le nom du fichier dans le "load data local inline" que je n'ai même pas pensé à mettre un nom de fichier temporaire.
    En effet, ta solution est de renommer le fichier dont tu demandes la saisie du nom, en ce fichier temporaire.
    Voici un exemple un peu plus complet :
    Code dos : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    @echo off
    
    chcp 1252 > nul
    
    set PATH=.;F:\Wamp\bin\mysql\mysql5.7.13\bin\;%PATH%
    
    set filetemp=fichier.txt
    
    REM ========================
    REM Saisie nom fichier Excel
    REM ========================
    
    cls
    @echo Veuillez saisir le nom de votre fichier :
    @echo -----------------------------------------
    @echo.
    
    :loop
    
    set filexcel=
    set /P filexcel=?
    
    @echo.
    @echo vous avez saisie : %filexcel%
    @echo.
    
    if exist ".\%filexcel%" goto :prep
    
    echo le fichier "%filexcel%" n'existe pas
    
    goto :loop
    
    REM ===========
    REM Préparation
    REM ===========
    
    :prep
    
    if exist .\%filetemp%  del /F /Q .\%filetemp%
    
    copy /a /v /y  .\%filexcel%  .\%filetemp%  > nul
    
    if %ERRORLEVEL% NEQ 0 (
       echo copie du fichier impossible : erreur %ERRORLEVEL%
       goto :exit
    )
    
    REM ============
    REM Script MySql
    REM ============
    
    mysql < .\script.sql  --verbose  --force > compte-rendu.txt
    
    REM =========
    REM Nettoyage
    REM =========
    
    del /F /Q .\%filetemp%
    
    :exit
    @echo.
    pause
    exit

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  12. #12
    Membre habitué Avatar de Coeur de Pirat
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 82
    Points : 150
    Points
    150
    Par défaut
    Oui, c'est exactement ce que j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    @echo off
    setlocal enableDelayedExpansion
    chcp 1252 > nul
    set PATH="C:\DATA\TransducersLibrary\MySQLEmbeddedDataBase\bin";%PATH%
    
    REM find the sql name
    SET fileSQL=%~nx0
    @echo %fileSQL%
    SET fileSQL=%fileSQL:bat=sql%
    @echo %fileSQL%
    
    REM ask for the excel name
    cls
    @echo Veuillez saisir votre chaine de caractère :
    @echo -------------------------------------------
    @echo.
    set /P fileEXCEL=?
    REM set fileEXCEL=C:\Stage\CEA-PA.csv
    @echo.
    @echo vous avez saisie : %fileEXCEL%
    @echo.
    @echo. 
    pause
    
    REM execute the sql
    REM /q : Suppresses the display of xcopy messages, /y : Suppresses prompting to confirm that you want to overwrite an existing destination file.
    XCOPY /y /q %fileEXCEL% TEMP-CEA-PA.csv*  
    mysql --host=localhost --user=lola --password=lola --database=base_configuration --verbose  --e "source %fileSQL%;" > result.txt  
    DEL /F /Q TEMP-CEA-PA.csv
    
    pause
    Merci bien

  13. #13
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 064
    Points
    19 064
    Par défaut
    te voilà une pro du batch windows !

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  14. #14
    Membre habitué Avatar de Coeur de Pirat
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 82
    Points : 150
    Points
    150
    Par défaut
    une pro non mais c'est un bon début
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. besoin d'aide pour un script batch
    Par tsumey dans le forum Windows 7
    Réponses: 2
    Dernier message: 11/11/2014, 13h43
  2. [Batch] Demande d'aide sur le script batch
    Par louispeperman dans le forum Scripts/Batch
    Réponses: 27
    Dernier message: 22/04/2013, 10h42
  3. [Batch] Aide sur un script batch
    Par VassR dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 26/08/2011, 11h04
  4. [Oracle 8.1.7] Aide script
    Par fmoriet dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/02/2006, 12h27
  5. Réponses: 7
    Dernier message: 15/03/2005, 14h44

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