Bonsoir,
ci-dessous, version "améliorée" qui permet de gérer les types de
fichiers spécifiquement par le biais d'un appel de sous-programme.
Recopiez et modifiez les lignes CALL :convert en fonction de l'extension
à gérer.
J'ai également modifié les instructions CD en CD /D afin de prendre en
compte les cas où le répertoire source n'est pas sur le même disque que
le répertoire courant.
Les autres remarques du message précédent restent d'actualité.
8< ----------------------------------------------------------------
@ECHO OFF
CLS
:: ---------------------------------
:: odf2pdf.cmd
:: conversion de fichiers ODF en PDF
:: version 1.10 du 11/11/2015 - JFN
:: ---------------------------------
:: utilise LibreOffice
:: sous windows XP ou Win7
:: ---------------------------------
SETLOCAL
:: quelle version de windows ? 5.1 = win xp, sinon Win7
:: => ERRORLEVEL = 0 -> WinXP sinon -> Win7
:: Dans cet exemple on utilise LibO v5 sous WinXP
:: et LibO v4 sous Win7 -> modifiez selon le contexte !
VER | FIND "5.1" > NUL
IF %ERRORLEVEL%==0 (
SET _Bureau=Bureau
SET _LibOVer=5
SET _Prog=%PROGRAMFILES%
) ELSE (
SET _Bureau=Desktop
SET _LibOVer=4
SET _Prog=%PROGRAMFILES(X86)%
)
:: on reconstitue les chemins à partir des bribes obtenues ci-dessus
:: à modifier si besoin
SET _ConvertDir=%HOMEDRIVE%%HOMEPATH%\%_Bureau%\a convertir
SET _TargetDir=%HOMEDRIVE%%HOMEPATH%\%_Bureau%\convertis
SET _LibOexe="%_Prog%\LibreOffice %_LibOVer%\program\soffice.exe"
:: mémorisation du répertoire courant
SET _OldDir=%CD%
ECHO.
ECHO 1. Forcement de la fermeture de LibreOffice
taskkill /F /IM soffice.bin > NUL 2>&1
ECHO.
ECHO 2. Creation de %_TargetDir%
MKDIR "%_TargetDir%" > NUL 2>&1
ECHO.
ECHO 3. Conversion des fichiers
ECHO vers %_TargetDir%
:: on change pour le répertoire source à cause de pbs
:: de gestion des guillemets dans IN()
CD /D "%_ConvertDir%"
:: traitement des fichiers dans le répertoire courant
:: à modifier pour tenir compte des types de fichiers à traiter
CALL :convert *.odt
CALL :convert *.ods
CALL :convert *.odg
CALL :convert *.odp
CALL :convert *.doc
CALL :convert *.xls
:: retour au répertoire de départ
CD /D "%_OldDir%"
ENDLOCAL
GOTO :EOF
:: -----------------------------------------------------
:: sous-programme de conversion
:convert
ECHO %1
FOR %%G IN (%1) DO (
ECHO %%G
%_LibOexe% -headless -convert-to pdf -outdir "%_TargetDir%" "%%G"
)
GOTO :EOF
:: fin de fichier -------------------
---------------------------------------------------------------- >8
Bonne fin de week-end ;)
--
Jean-Francois Nifenecker, Bordeaux
--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous
désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne
pourront pas être supprimés