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 :

Impossible d'executer un fichier [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Par défaut Impossible d'executer un fichier
    Bonjour,

    j'ai le problème suivant : je génère (depuis sql server) un fichier .bat, mais impossible de l'executer : lorsque je double-clique, la fenêtre de commande s'ouvre et se referme aussitôt.
    Même lorsque mon .bat contient un simple "PAUSE", et rien d'autre, le résultat est le même.

    Pourtant, si je copie le contenu dans un autre .bat que je créée (donc non généré par SQL Server), ca fonctionne très bien...

    Auriez-vous une idée sur l'origine du problème ? Un problème de droits ?

    Merci d'avance...

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Possible en effet que le script généré n'aie pas les droits d'exécution, il faudrait voir avec quel compte il est créé (= le propriétaire), ça dépend quand même beaucoup de la politique de compte décidée par ton administrateur système.

    Mais avant tout ça : ouvre une console DOS dans le répertoire du fichier BATCH en question, lance-le "à la main" et donnes-nous le message d'erreur généré. Au moins, la console ne se fermera pas avant d'avoir eu le temps de lire !

    Un outil indispensable pour tous ceux qui manipulent des fichiers BATCH : "Open Command Window Here", disponible dans les PowerToys Microsoft. Cela permet d'ouvrir une console dans n'importe quel répertoire juste avec un clic-droit, y compris dans la case système en haut à gauche sur l'explorateur.

    C'est tellement indispensable qu'il faudrait rétablir le bûcher pour ceux qui ne l'installent pas d'office sur leurs postes...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Par défaut
    Merci de ta réponse !

    Hm...j'ai lancé le biniou à la main, et apparemment j'ai des caractères pourris...ca me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'ÿþ' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    Alors que dans mon fichier, j'ai tout viré et j'ai écrit PAUSE à la main...Et quand je l'ouvre meme avec notepad c'est ok : /

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Mmmm, ça pue l'encodage UNICODE, tout ça...

    Quelle taille a ton fichier BATCH original ? Quelle taille a la copie "manuelle" qui marche ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Par défaut
    Je confirme....2ko et 4ko...

    C'est mal l'unicode pour les fichiers bat ?

    EDIT : ok, google me fait signe que non, DOS il aime pas l'unicode. Ca m'arrange pas ça. C'est un autre sujet mais bon juste comme ça, y'a des contournements ? Si je veux executer un script qui comporte forcément de l'unicode je fais comment ? (par exemple appels de scripts dont le nom comporte des accents)

  6. #6
    Membre Expert
    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
    Par défaut
    Salut,

    commande Chcp /? ou bien Cmd /?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    chcp 1252>nul
    
    > éàçèâ.bat echo @echo off
    >>éàçèâ.bat echo dir
    
    call éàçèâ.bat 
    del éàçèâ.bat 
    
    PAUSE

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par nox75 Voir le message
    C'est mal l'unicode pour les fichiers bat ?
    On en a brûlé pour moins que ça au Moyen-Âge, pour te donner une idée...

    @I'm_HERE : changer la page de code n'offrira hélas pas de support Unicode et des caractères sur deux octets... Activer la page 1252 permettra de s'affranchir du codage OEM/Ansi, mais c'est tout, et ça ne changera pas d'éventuels soucis d'affichage avec les polices par défaut.

    Citation Envoyé par nox75 Voir le message
    y'a des contournements ? Si je veux executer un script qui comporte forcément de l'unicode je fais comment ? (par exemple appels de scripts dont le nom comporte des accents)
    Exécuter le script directement en Unicode, tu oublies direct : ce n'est pas possible. Quant aux accents, c'est un faux problème, car ils existent dans la table ASCII OEM (celle utilisée par le DOS). Ce ne serait un problème que si ton batch était écrit dans une langue imposant l'Unicode pour être affichée (ex : arabe, hébreu, langues à idéogrammes, etc.).

    Il y a en fait plusieurs solutions, pas forcément complètes ni incompatibles entre elles :
    • Faire cracher autre chose que de l'Unicode à ton SQL Server : tout dépend de la manière dont tu lui demande de générer ce fichier BATCH, et par quel système il est "reçu".
      SQL Server doit bien exécuter une commande pour générer ce batch : reste à savoir en quel langage.
    • Ensuite, le batch est bien sauvé par quelque chose : SQL Server directement ? Un programme annexe après réception d'une chaîne texte depuis la base de données ? Là aussi, faut savoir quel langage est utilisé.
    • Enfin, une fois le batch sauvé, il est toujours possible de le convertir au côté obscur du codage de caractère, à savoir DOS-OEM. Pour ceci, il faudra un programme annexe qui devra être lancé automatiquement, soit avant lancement, soit juste après sa création.


    Dans tous les cas, ce n'est plus qu'un problème de conversion désormais, et il sera possible de régler le souci une fois que l'on saura par quelle chaîne logicielle ce batch est créé.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

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

Discussions similaires

  1. [C#] Executer un fichier .SQL
    Par Thomas Lebrun dans le forum Accès aux données
    Réponses: 6
    Dernier message: 28/07/2009, 08h53
  2. [DB2] executer un fichier sql
    Par meufeu dans le forum DB2
    Réponses: 7
    Dernier message: 10/01/2009, 15h47
  3. Impossible d'executer une macro d'un autre fichier
    Par gilles06 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/02/2008, 19h36
  4. Executer un fichier zip
    Par Sébastien THEVOT dans le forum C++Builder
    Réponses: 15
    Dernier message: 11/10/2004, 10h35
  5. Réponses: 2
    Dernier message: 28/09/2004, 09h41

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