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 :

Manipulation de chaine de caractères, supression d'une apostrophe


Sujet :

Scripts/Batch

  1. #1
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut Manipulation de chaine de caractères, supression d'une apostrophe
    J'ai un script BAT qui me permet d'exécuter un script d'open office ainsi qu'une série de commandes.

    Mon soucis est que ces bougres de $$$$$ de programmeur d'open office mettent le numéro de version dans leur chemin de répertoire. Donc je me retrouve dans l'obligation de mettre ce chemin en variable...

    J'exécute donc la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:/xampp/htdocs/BLUE_MEDI_CONF/Module_OPENOFFICE/export.bat --PDF C:/xampp/htdocs/dev_V6_5/upload/upld_ged/SOURCE/1/dev_V6_5_OOo_1586.odt 2>&1 "C:\Program Files\OpenOffice.org 2.0\"
    qui exécute ce fichier bat :
    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
    ::@echo off
    
    SET CHEMIN=%3
    ::Set nomDeLaVariable=% nomDeLaVariable:a=e%
    :: Chemin vers l'executable Python
    SET PYTHON=%CHEMIN%\program\python.bat
    
    :: Chemin vers le programme Python pour l'export OOo 
    SET PATH_TO_CONF=C:\xampp\htdocs\BLUE_MEDI_CONF\Module_OPENOFFICE
    
    :: Serveur web
    SET HOST=localhost
    
    :: Port d'ecoute Open Office
    SET PORT=2002
    
    :: Chaine de connexion
    SET CNN_STRING=socket,host=%HOST%,port=%PORT%
    
    :: Commande
    "%PYTHON%" "%PATH_TO_CONF%\export.py" %1 --connection-string "%CNN_STRING%" %2 
    
    @echo on
    mon soucis est qu'a l'exécution, j'obtiens :
    Z:\>C:/xampp/htdocs/BLUE_MEDI_CONF/Module_OPENOFFICE/export.bat --PDF C:/xampp/h
    tdocs/dev_V6_5/upload/upld_ged/SOURCE/1/dev_V6_5_OOo_1586.odt 2>&1 "C:\Program F
    iles\OpenOffice.org 2.0"

    Z:\>SET CHEMIN="C:\Program Files\OpenOffice.org 2.0"

    Z:\>SET PYTHON="C:\Program Files\OpenOffice.org 2.0"\program\python.bat

    Z:\>SET PATH_TO_CONF=C:\xampp\htdocs\BLUE_MEDI_CONF\Module_OPENOFFICE

    Z:\>SET HOST=localhost

    Z:\>SET PORT=2002

    Z:\>SET CNN_STRING=socket,host=localhost,port=2002

    Z:\>""C:\Program Files\OpenOffice.org 2.0"\program\python.bat" "C:\xampp\htdocs\
    BLUE_MEDI_CONF\Module_OPENOFFICE\export.py" --PDF --connection-string "socket,ho
    st=localhost,port=2002" C:/xampp/htdocs/dev_V6_5/upload/upld_ged/SOURCE/1/dev_V6
    _5_OOo_1586.odt
    '""C:\Program' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.

    Z:\>
    et l'apostrophe est un peu gênante en plein milieu du chemin d'exécution.

    J'ai envisagé plusieurs solutions :
    -> supprimer le dernier caractère, ce qui pourrait se faire si je connaissais la taille de la chaîne de caractère à chaque fois.
    -> remplacer les " par des espaces, sauf que comme ce sont des caractères spéciaux, je l'ai dans le baba...

    Auriez vous une petite idée ?

    Merci

    (PS : comme vous pouvez peut être vous en douter, je suis complètement dépassé par ces lignes de commandes archaïques... je sais bien me démerder en shell nux, mais en doc, à par l'exécution de commande ... je patine

  2. #2
    Débutant  
    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
    Points : 2 415
    Points
    2 415
    Par défaut
    Femplace:
    Par:
    La caractére ~ supprime les guilemets

  3. #3
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut
    Merci, ça marche.

    Je n'ai rien trouvé sur la manipulation de chaîne de caractère simple (équivalent substring en php, ou le genre de commande que j'ai demandé) dans la FAQ, j'ai mal cherché ou c'est quelque chose qui manque ?

  4. #4
    Débutant  
    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
    Points : 2 415
    Points
    2 415
    Par défaut
    Je ne connait pas le php et encore moin substring

    Elle fait quoi cette fonction ?

  5. #5
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut
    elle permet de récupérer des morceaux de chaîne de caractère.
    Enfin, si tu veux voir vite fait, recherche "str" sur le site php.net tu verra, c'est enfantin de manipuler des variables...

  6. #6
    Débutant  
    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
    Points : 2 415
    Points
    2 415
    Par défaut
    Admenton que tu veut récupérer les 3 premier caractére d'un chaine:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set vrTest=machaine
    echo %vrTest:~0,3%
    qdemton que tu veut récupérer les 5 et 6 caractére:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set vrTest=machaine
    echo %vrTest:~4,2%

  7. #7
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Pour la doc : set /?

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2006, 00h38
  2. [VB.NET] une chaine de caractère qui devient une propriete
    Par lucie.houel dans le forum ASP.NET
    Réponses: 8
    Dernier message: 20/09/2005, 15h10
  3. [SQL7] chaines de caractères stockées dans une colonne image
    Par fredoche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/11/2004, 12h12
  4. Réponses: 4
    Dernier message: 20/08/2004, 11h59

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