Ticket #541: conv2ooo.bat

File conv2ooo.bat, 3.8 kB (added by jayjones, 2 years ago)

Batch file to help with multiple file conversions

Line 
1 @echo off
2 :: ----------------------------------------------------------------------
3 :: Sub-routines?
4 if "%~1"==":DoConv" (
5   shift
6   goto :DoConv
7 )
8
9 echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
10 echo ³ Conv2ooo                                                                    ³
11 echo ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄŽ
12 echo ³ Batch Conversion between MSOffice and OpenOffice.org (OOo) file formats     ³
13 echo ³ Jay Jones, 23-Jul-2006                                                      ³
14 echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
15
16 :: ----------------------------------------------------------------------
17 :: History
18 :: ----------------------------------------------------------------------
19 ::   Date       | Author     | Description
20 :: -------------|------------|-------------------------------------------
21 ::  23-Jul-2006 | Jay Jones  | BugFix - Added %~1 Fix to prevent long
22 ::              |            | filenames with " - " from breaking script
23 :: -------------|------------|-------------------------------------------
24 ::  18-Jul-2006 | Jay Jones  | Created.
25 ::              |            | Provides Batch bulk conversion of Office
26 ::              |            | files using OpenOffice
27 :: -------------|------------|-------------------------------------------
28 ::  18-Jul-2006 | Jay Jones  | Added File support to process input from file
29 ::              |            | See OOoforum for details of XSLT filter
30 ::              |            | http://www.oooforum.org/forum/viewtopic.phtml?t=3772
31 :: ----------------------------------------------------------------------
32
33 :: ----------------------------------------------------------------------
34 :: Set default values
35 set Inst=%0
36 set OooExe="%ProgramFiles%\OpenOffice.org 2.0\program\soffice.bin"
37 set OooRoot=///Standard.MyConversions
38 set Ooomacro=SaveAsOOOFlat
39 set Options=
40
41
42 :: ----------------------------------------------------------------------
43 :: Parse Command line
44 :: %1 Macro
45 :: [-File]
46 :: %2 Filename
47 if "%~1"=="" goto ShowHelp
48 if "%~1"=="-OOO" (
49   shift
50   set Ooomacro=SaveAsOOO
51 )
52 if "%~1"=="-OOOflat" (
53   shift
54   set Ooomacro=SaveAsOOOFlat
55 )
56
57 if "%~1"=="-File" (
58   shift
59   set Options=/F "delims=;"
60 )
61
62
63 :: ----------------------------------------------------------------------
64 :: Expand Command Line & Call DoConversion Sub-routine
65 echo Expanding command line "%~1" ...
66 for %Options% %%I IN ("%~1") DO call %Inst% :DoConv %Ooomacro% "%%~fI"
67
68 goto CleanUp
69
70 :: ----------------------------------------------------------------------
71 :: SUB-ROUTINES
72 :: ----------------------------------------------------------------------
73
74 :: ----------------------------------------------------------------------
75 :: DoConv Sub-routine
76 :: ----------------------------------------------------------------------
77 :DoConv
78 echo Converting %~2 to %1 ...
79 %OooExe% macro:%OooRoot%.%1("%~2")
80 goto End
81
82 :: ----------------------------------------------------------------------
83 :ShowHelp
84 :: ----------------------------------------------------------------------
85 echo.
86 echo Syntax:
87 echo   conv2ooo [-oooflat,-ooo] [-File] FileMatch
88 echo.
89 echo     -oooflat  Converts files to Flat OpenDocument XML format (*.oft)
90 echo     -ooo      Converts to OpenOffice OpenDocument format     (*.odt)
91 echo     -File     Reads list of files to convert from text file
92 echo     FileMatch Expression to select file (Supports Wildcards)
93 echo.
94 pause
95 goto CleanUp
96
97 :: ----------------------------------------------------------------------
98 :CleanUp
99 :: ----------------------------------------------------------------------
100 set Inst=
101 set OooExe=
102 set OooRoot=
103 set OooMacro=
104 set File=
105
106 goto End
107
108 :End