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:
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:
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 :
Citation:
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