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 :

setlocal ENABLEDELAYEDEXPANSION ne fonctionne pas sur Windows NT


Sujet :

Scripts/Batch

  1. #1
    Membre du Club Avatar de suzan_
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 87
    Points : 41
    Points
    41
    Par défaut setlocal ENABLEDELAYEDEXPANSION ne fonctionne pas sur Windows NT
    Bonjour,
    j'ai finalement réussi à créer mon .bat qui marche super sauf qu'il est destiné à être appelé sur un ordinateur équipé de Windows NT (je sais c'est pas la joie...), l'option setlocal ENABLEDELAYEDEXPANSION n'y est pas reconnue...
    Je sais plus quoi faire car j'en ai absolument besoin...

    Je vous laisse mon code si vous avez une idée de comment faire sans cette option :

    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
    32
    33
    34
    35
    36
    @echo off
    help setlocal
    setlocal  ENABLEDELAYEDEXPANSION
     
     
    for /f "tokens=2 delims=:+" %%a in (tampon_identifiant.txt) do (
     
                    set adresse=%%a
            echo adresse : !adresse!
    )
     
    for /f "tokens=2 delims=+" %%b in (tampon_identifiant.txt) do (
     
            set champ=%%b
            echo champ :!champ!
    )
    for /f "tokens=4 delims=\-" %%c in (tampon_identifiant.txt) do (
             set numero=%%c
            echo numero : !numero!
    echo L:\suzanne\Patients\%%c\!champ!\tampon.txt
    )
    If not exist "L:\suzanne\Patients\%numero%\%champ%\tampon.txt" mkdir "L:\suzanne\Patients\%numero%\%champ%"
    echo 1 > "L:\suzanne\Patients\%numero%\%champ%\tampon.txt" 
     
    move "L:%adresse%" "L:\suzanne\Patients\%numero%\%champ%"
     
    set chemin = "L:\suzanne\Patients\%numero%\%champ%\tampon.txt"
     
    for /f "tokens=1" %%d in (%chemin%) do (
         set bool=%%d
        echo bool: !bool!
    )
     
    endlocal
    pause
    J'ai vraiment besoin d'aide je commence à désespérer...
    Merci mille fois d'avance,
    Suzanne

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par suzan_
    l'option setlocal ENABLEDELAYEDEXPANSION n'y est pas reconnue
    Il n'est donc pas possible de l'utiliser, c'est comme ça.

    Je me permets une remarque quand à ton titre initiale, le fait de rechercher uniquement l'avis d'experts te coupe de l'apport de nombreux contributeurs compétents, je me suis donc permis de modifier le titre de ton post.
    Ici, pour moi chacun peut apporter quelque chose, toi la première.
    Evitez-nous un monde d'experts !

    Cordialement.

  3. #3
    Membre du Club Avatar de suzan_
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 87
    Points : 41
    Points
    41
    Par défaut
    Ah désolé pour les experts éhéh c'était pas mon intention de discriminer qui que ce soit

    Je sais qu'elle n'est pas utilisable mais est ce que il ne serait pas possible de contourner son utilisation?

    J'ai vu qu'on pouvait faire un appel à une fonction un peu comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @echo off
    for /f "delims=" %%a in (fichier.txt) do call :commande "%%a"
    pause
    exit
    :commande
    set ligne=%%a
    echo %ligne%
    mais ce type de chose ne marche pas chez moi...je ne sais pas pourquoi.

    J'ai vu également qu'on pouvait écrire cette option directement dans le registre et la je ne sais pas du tout comment faire...

    Je crois que je vais y passer la nuit...

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par suzan_
    c'était pas mon intention de discriminer qui que ce soit
    Ma remarque n'était pas dans ce registre, un forum est une des formes de la coopération, elle était dans ton intérêt, car
    Seul c'est bien,
    à deux c'est mieux,
    et à plusieurs c'est bien meilleurs.
    Citation Envoyé par suzan_
    Je sais qu'elle n'est pas utilisable mais est ce que il ne serait pas possible de contourner son utilisation ?
    Je ne sais pas, ayant automatiser de nombreuses tâches sous NT j'ai fais sans, mais dans ces cas là j'utilisais un langage compilé (Delphi).
    Ensuite je ne connais pas tout, je laisse donc à d'autres le soin de t'aider sur ce point.
    Citation Envoyé par suzan_
    mais ce type de chose ne marche pas chez moi...je ne sais pas pourquoi.
    Peut-être manque t'il un :eof à la fin du sous-programme :commande ...

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 118
    Points : 419
    Points
    419
    Par défaut
    Bonjour

    Effectivement je pense qu'il manque un goto :eof

    Mais la véritable erreur c'est d'avoir mis
    Set ligne=%%a

    Au lieu de
    Set ligne=%1%

    Car il c'est le premier paramètre de la fonction que tu veux récupérer

  6. #6
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par Darkbatcher Voir le message
    Mais la véritable erreur c'est d'avoir mis
    Set ligne=%%a
    d'accord

    Citation Envoyé par Darkbatcher Voir le message
    Au lieu de
    Set ligne=%1%

    Car il c'est le premier paramètre de la fonction que tu veux récupérer
    n'es-ce pas plutôt %1

Discussions similaires

  1. Apache2 ne fonctionne pas sur windows server 2012 r2
    Par HDThoreau dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 21/03/2015, 09h56
  2. [XL-2007] Problème de Shadok - Macro VBA ne fonctionnant pas sur Office 2007 Windows 7
    Par Shadok_75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/02/2015, 18h56
  3. [AC-2007] Base access fonctionne sur XP mais pas sur Windows 7 pro
    Par PC14.fr dans le forum Access
    Réponses: 0
    Dernier message: 30/08/2012, 15h40
  4. window.open() ne fonctionne pas sur IE
    Par brunoperel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/08/2009, 23h01
  5. Réponses: 0
    Dernier message: 04/08/2009, 18h46

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