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 :

script Boucle For ne fonctionne pas [Batch]


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut script Boucle For ne fonctionne pas
    Bonjour,

    Je fais mes premiers en pas en réalisation de scripts .bat. Je suis sous windows 7.

    Je cherche à extraire des données de fichiers netcdf (format utilisé par les océanographes pour créer les fichiers océano - météo). J'utilise pour ce faire les outils de la gamme nco
    http://nco.sourceforge.net/

    L'idée c'est de créer une série temporelle pour le 1er semestre 2014, J'ai autant de fichiers que d'heures écoulée, soit environ 4000 fichiers.

    J'essaie donc de créer une boucle pour extraire les données que je veux, en créant un fichier texte avec les variables que je souhaite et les bonnes coordonnées. Je teste par exemple pour une journée (donc 24 fichiers), le script fonctionne bien par exemple pour les 6 1ers fichiers, et après j'obtiens des fichiers .txt complètement vide.

    Voici mon programme ci - dessous (où %%i est l'identifiant horaire sur chaque fichier)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    REM/////////////////////////////NORGAS_TXT/////////////////////////////////////////
    @echo off
    
    FOR %%i IN (00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23) DO (
    ncks -C -d node,78630,78630 -v latitude,longitude,hs,dir PREVIMER_WW3-NORGAS-UG_20140102T%%iZ.nc > 20140102T%%iZ.txt
    )
    
    echo ==============================================================================
    echo ## Extraction des fichiers terminée
    echo ## 
    echo ==============================================================================
    echo.
    Je précise une nouvelle fois que c'est mon tout premier script .bat et que je n'y connais donc pas grand chose.

    Merci de votre aide,
    Alan

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,

    elle est parfaite ta boucle.

    Tes fichiers .nc sont sous quel forme ? Binaire ou ascii (peut-tu les lire avec notepad ?)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Salut,

    Notepad n'ouvre pas les fichiers netcdf. il faut utiliser des lignes de commande pour lire ou extraire les données, je ne saurais te dire si c'est en binaire ou ascii.

    Ca bug toujours, quand je lance le script, il fonctionne bien parfois pour 15 fichiers et d'autres pour 3. Je continue à chercher......

  4. #4
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Essaye de mettre une temporisation dans la boucle juste pour tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FOR %%i IN (00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23) DO (
    ncks -C -d node,78630,78630 -v latitude,longitude,hs,dir PREVIMER_WW3-NORGAS-UG_20140102T%%iZ.nc > 20140102T%%iZ.txt
    timeout /t 2 /nobreak >nul
    )

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    bon bon, j'ai bien rajouté la ligne que tu proposes mais rien n'y fait la routine continue de sauter au bout d'un moment ..

    Pour les fichiers où cela ne marche pas, le Command Prompt renvoi
    "Le répertoire en cours n'est pas valide.
    'ncks n'est pas reconnu en tant que commande interne ou externe, un programme executable ou un fichier de commandes."

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    A priori j'ai trouvé, mon fichier .bat se nommait norgas_txt.bat, je l'ai renommé à tout hasard norgas.bat et maintenant çà marche !!

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

Discussions similaires

  1. sorti boucle for ne semble pas fonctionner
    Par guillou34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/10/2014, 10h04
  2. boucle While ne fonctionne pas ?
    Par beegees dans le forum Langage
    Réponses: 3
    Dernier message: 07/08/2006, 20h19
  3. [MySQL] Boucle qui ne fonctionne pas bien que la 1ère fois
    Par R.L. dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/05/2006, 21h59
  4. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 11h54

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