From bb063d655b0eadcceca2aa6e4fc18d3ce86b4073 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 25 Jan 2011 15:55:12 -0700 Subject: [PATCH] ... --- resources/calibre-portable.bat | 101 ++++++++++++++++++++------------- 1 file changed, 63 insertions(+), 38 deletions(-) diff --git a/resources/calibre-portable.bat b/resources/calibre-portable.bat index 473cdc4236..f22c72cd8c 100644 --- a/resources/calibre-portable.bat +++ b/resources/calibre-portable.bat @@ -6,25 +6,37 @@ REM - Calibre Library Files REM - Calibre Config Files REM - Calibre Metadata database REM - Calibre Source files +REM - Calibre Temp Files REM By setting the paths correctly it can be used to run: REM - A "portable calibre" off a USB stick. REM - A network installation with local metadata database REM (for performance) and books stored on a network share +REM - A local installation using customised settings REM -REM If trying to run off a USB stick then the following -REM folder structure is recommended: +REM If trying to run off a USB stick then the folder structure +REM shown below is recommended (relative to the location of +REM this batch file). This can structure can also be used +REM when running of a local hard disk if you want to get the +REM level of control this batch file provides. REM - Calibre2 Location of program files REM - CalibreConfig Location of Configuration files REM - CalibreLibrary Location of Books and metadata +REM - CalibreSource Location of Calibre Source files (Optional) +REM +REM This batch file is designed so that if you create the recommended +REM folder structure then it can be used 'as is' without modification. REM ------------------------------------- REM Set up Calibre Config folder +REM +REM This is where user specific settings +REM are stored. REM ------------------------------------- IF EXIST CalibreConfig ( SET CALIBRE_CONFIG_DIRECTORY=%cd%\CalibreConfig - ECHO CONFIG=%cd%\CalibreConfig + ECHO CONFIG FILES: %cd%\CalibreConfig ) @@ -35,21 +47,18 @@ REM Location where Book files are located REM Either set explicit path, or if running from a USB stick REM a relative path can be used to avoid need to know the REM drive letter of the USB stick. - +REM REM Comment out any of the following that are not to be used +REM (although leaving them in does not really matter) REM -------------------------------------------------------------- IF EXIST U:\eBooks\CalibreLibrary ( SET CALIBRE_LIBRARY_DIRECTORY=U:\eBOOKS\CalibreLibrary - ECHO LIBRARY=U:\eBOOKS\CalibreLibrary + ECHO LIBRARY FILES: U:\eBOOKS\CalibreLibrary ) IF EXIST CalibreLibrary ( SET CALIBRE_LIBRARY_DIRECTORY=%cd%\CalibreLibrary - ECHO LIBRARY=%cd%\CalibreLibrary -) -IF EXIST CalibreBooks ( - SET CALIBRE_LIBRARY_DIRECTORY=%cd%\CalibreBooks - ECHO LIBRARY=%cd%\CalibreBooks + ECHO LIBRARY FILES: %cd%\CalibreLibrary ) @@ -60,7 +69,7 @@ REM Location where the metadata.db file is located. If not set REM the same location as Books files will be assumed. This. REM options is used to get better performance when the Library is REM on a (slow) network drive. Putting the metadata.db file -REM locally makes gives a big performance improvement. +REM locally then makes gives a big performance improvement. REM REM NOTE. If you use this option, then the ability to switch REM libraries within Calibre will be disabled. Therefore @@ -68,19 +77,10 @@ REM you do not want to set it if the metadata.db file REM is at the same location as the book files. REM -------------------------------------------------------------- -IF EXIST CalibreBooks ( - IF NOT "%CALIBRE_LIBRARY_DIRECTORY%" == "%cd%\CalibreBooks" ( - SET SET CALIBRE_OVERRIDE_DATABASE_PATH=%cd%\CalibreBooks\metadata.db - ECHO DATABASE=%cd%\CalibreBooks\metadata.db - ECHO ' - ECHO ***CAUTION*** Library Switching will be disabled - ECHO ' - ) -) -IF EXIST CalibreMetadata ( +IF EXIST %cd%\CalibreMetadata\metadata.db ( IF NOT "%CALIBRE_LIBRARY_DIRECTORY%" == "%cd%\CalibreMetadata" ( SET CALIBRE_OVERRIDE_DATABASE_PATH=%cd%\CalibreMetadata\metadata.db - ECHO DATABASE=%cd%\CalibreMetadata\metadata.db + ECHO DATABASE: %cd%\CalibreMetadata\metadata.db ECHO ' ECHO ***CAUTION*** Library Switching will be disabled ECHO ' @@ -96,37 +96,60 @@ REM When running from source the GUI will have a '*' after the version. REM number that is displayed at the bottom of the Calibre main screen. REM -------------------------------------------------------------- -IF EXIST Calibre\src ( - SET CALIBRE_DEVELOP_FROM=%cd%\Calibre\src - ECHO SOURCE=%cd%\Calibre\src -) -IF EXIST D:\Calibre\Calibre\src ( - SET CALIBRE_DEVELOP_FROM=D:\Calibre\Calibre\src - ECHO SOURCE=D:\Calibre\Calibre\src +IF EXIST CalibreSource\src ( + SET CALIBRE_DEVELOP_FROM=%cd%\CalibreSource\src + ECHO SOURCE FILES: %cd%\CalibreSource\src ) + REM -------------------------------------------------------------- REM Specify Location of calibre binaries (optional) REM REM To avoid needing Calibre to be set in the search path, ensure REM that Calibre Program Files is current directory when starting. REM The following test falls back to using search path . -REM This folder can be populated by cpying the Calibre2 folder from -REM an existing isntallation or by isntalling direct to here. +REM This folder can be populated by copying the Calibre2 folder from +REM an existing installation or by installing direct to here. REM -------------------------------------------------------------- -IF EXIST Calibre2 ( - Calibre2 CD Calibre2 - ECHO PROGRAMS=%cd% +IF EXIST %cd%\Calibre2 ( + CD %cd%\Calibre2 + ECHO PROGRAM FILES: %cd% ) + +REM -------------------------------------------------------------- +REM Location of Calibre Temporary files (optional) +REM +REM Calibre creates a lot of temproary files while running +REM In theory these are removed when Calibre finishes, but +REM in practise files can be left behind (particularily if +REM any errors occur. Using this option allows some +REM explicit clean-up of these files. +REM If not set Calibre uses the normal system TEMP location +REM -------------------------------------------------------------- + +SET CALIBRE_TEMP_DIR=%TEMP%\CALIBRE_TEMP +ECHO TEMPORARY FILES: %CALIBRE_TEMP_DIR% + +IF NOT "%CALIBRE_TEMP_DIR%" == "" ( + IF EXIST "%CALIBRE_TEMP_DIR%" RMDIR /s /q "%CALIBRE_TEMP_DIR%" + MKDIR "%CALIBRE_TEMP_DIR%" + REM set the following for any components that do + REM not obey the CALIBRE_TEMP_DIR setting + SET TMP=%CALIBRE_TEMP_DIR% + SET TEMP=%CALIBRE_TEMP_DIR% +) + + REM ---------------------------------------------------------- REM The following gives a chance to check the settings before REM starting Calibre. It can be commented out if not wanted. REM ---------------------------------------------------------- -echo "Press CTRL-C if you do not want to continue" -pause +ECHO ' +ECHO "Press CTRL-C if you do not want to continue" +PAUSE REM -------------------------------------------------------- @@ -141,5 +164,7 @@ REM If used without /WAIT opotion launches Calibre and contines batch file. REM Use with /WAIT to wait until Calibre completes to run a task on exit REM -------------------------------------------------------- -echo "Starting up Calibre" -START /belownormal Calibre --with-library "%CALIBRE_LIBRARY_DIRECTORY%" +ECHO "Starting up Calibre" +ECHO OFF +ECHO %cd% +START /belownormal Calibre --with-library "%CALIBRE_LIBRARY_DIRECTORY%" \ No newline at end of file