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 :
qui exécute ce fichier bat :
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\"
mon soucis est qu'a l'exécution, j'obtiens :
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
et l'apostrophe est un peu gênante en plein milieu du chemin d'exécution.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:\>
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
Partager