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

Windows Discussion :

[BATCH] test sur substring


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Par défaut [BATCH] test sur substring
    Hello,

    Ca fait un petit moment que je cherche, en ayant trouvé des infos, mais malgré tout ce que j'ai, je n'arrive pas à faire fonctionner la création de substring en commande Dos.

    voici mon code :

    set condition=%1:~0,2%
    sachant que le contenu de la variable %1 est Asia

    echo "%condition%"
    est sensé me retourner "As", et non pas "Asia:~0,2" comme il le fait...

    Quelqu'un a-t-il une suggestion ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Par défaut
    Précision :

    J'arrive à récupérer le substring que je souhaite, et à l'afficher avec un echo, par contre, impossible de l'utiliser dans une condition, ou même de le mettre dans une autre variable.

  3. #3
    Membre éprouvé
    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
    Par défaut
    tu ne peut pas faire ca avec la variable %1.


    Il faut faire comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    set condition=%~1
    
    set condition=%condition:~0,2%
    
    echo %condition%

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Par défaut
    merci, ca m'a déjà permis d'avancer. Par contre, je me retrouve avec un autre soucis.

    J'ai bien ma variable avec le bon contenu, mais dès que je l'utilise en dessous pour un test, ca me fait fermer la fenêtre dos sans message d'erreur.

    if "%condition%"=="Ne"
    copy /Y "W:\chemin_A\%1\%3.cat" "\chemin_B\%1\catalog\%3.new"
    else
    copy /Y "W:\chemin_A\%1\%3.cat" "\chemin_C\%1\catalog\%3.new"

    if errorlevel 1 goto errorOfCopy

  5. #5
    Membre éprouvé
    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
    Par défaut
    essaye comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if "%condition%"=="Ne" (
        copy /Y "W:\chemin_A\%1\%3.cat" "\chemin_B\%1\catalog\%3.new"
      ) else (
        copy /Y "W:\chemin_A\%1\%3.cat" "\chemin_C\%1\catalog\%3.new"
     )
    if errorlevel 1 goto errorOfCopy
    pour error level tu devrai pluto mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not %errorlevel%==0 goto errorOfCopy

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Par défaut
    voila ce que j'ai dans mon script

    set condition=%1
    set condition=%condition:~0,2%

    if "%condition%"=="Ne"
    (
    copy /Y "W:\chemin_A\%1\%3.cat" "\\%2\chemin_B\%1\catalog\%3.new"
    )
    else
    (
    copy /Y "W:\chemin_A\%1\%3.cat" "\\%2\chemin_A\%1\catalog\%3.new"
    )

    if not %errorlevel%==0 goto errorOfCopy
    rem if errorlevel 1 goto errorOfCopy
    je sais pas si c'est moi qui voit plus clair à cause du temps passé dessus, mais ca ne tourne pas, et je ne sais toujours pas pourquoi... a partir du if, le script s'arrête. Si j'enlève cette partie, il tourne sans problème...

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

Discussions similaires

  1. [BATCH] Aide sur boucle for et test
    Par t_om84 dans le forum Windows
    Réponses: 3
    Dernier message: 07/06/2006, 10h12
  2. test sur un recordset
    Par georgeabitbol dans le forum ASP
    Réponses: 2
    Dernier message: 15/07/2004, 14h39
  3. [langage] Test sur un caractère
    Par GLDavid dans le forum Langage
    Réponses: 8
    Dernier message: 07/07/2004, 18h03
  4. test sur fichiers[forms9i]
    Par Challenger dans le forum Forms
    Réponses: 6
    Dernier message: 14/06/2004, 17h25
  5. Test sur un champs vide
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 27/04/2004, 12h54

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