CALIBREDB(1)

NAME
calibredb - calibredb

calibredb command [options] [arguments]

calibredb is the command line interface to the calibre database. It has several sub-commands, documented below.

calibredb can be used to manipulate either a calibre database specified by path or a calibre Content server running either on the local machine or over the internet. You can start a calibre Content server using either the calibre-server program or in the main calibre program click Connect/share  → Start Content server. Since calibredb can make changes to your calibre libraries, you must setup authentication on the server first. There are two ways to do that:

•   If you plan to connect only to a server running on the same computer, you can simply use the --enable-local-write option of the content server, to allow any program, including calibredb, running on the local computer to make changes to your calibre data. When running the server from the main calibre program, this option is in Preferences → Sharing over the net → Advanced.

•   If you want to enable access over the internet, then you should setup user accounts on the server and use the --username and --password options to calibredb to give it access. You can setup user authentication for calibre-server by using the --enable-auth option and using --manage-users to create the user accounts. If you are running the server from the main calibre program, use Preferences → Sharing over the net → Require username/password.

    To connect to a running Content server, pass the URL of the server to the --with-library option, see the documentation of that option for details and examples.

•   通用選項

•   list

•   add

•   從目錄中加入

•   remove

•   add_format

•   remove_format

•   show_metadata

•   set_metadata

•   export

•   catalog

•   EPUB選項

•   saved_searches

•   add_custom_column

•   custom_columns

•   remove_custom_column

•   set_custom

•   restore_database

•   check_library

•   list_categories

•   backup_metadata

•   clone

•   embed_metadata

•   search

通用選項

--help, -h
    顯示說明訊息並退出

--library-path, --with-library
    Path to the calibre library. Default is to use the path stored in the settings. You can also connect to a calibre Content server to perform actions on remote libraries. To do so use a URL of the form: http://hostname:port/#library_id for example, http://localhost:8080/#mylibrary. library_id is the library id of the library you want to connect to on the Content server. You can use the special library_id value of - to get a list of library ids available on the server. For details on how to setup access via a Content server, see https://manual.calibre-ebook.com/generated/en/calibredb.html.

--password
    Password for connecting to a calibre Content server. To read the password from standard input, use the special value: <stdin>. To read the password from a file, use: <f:/path/to/file> (i.e. <f: followed by the full path to the file and a trailing >). The angle brackets in the above are required, remember to escape them or use quotes for your shell.

--username
    登入Calibre網路伺服器時所用之使用者名稱

--version
    顯示程式版本編號並退出

LIST

calibredb list [options]

列出 calibre 資料庫中可用書本。

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--ascending
    以遞增次序排列結果

--fields, -f
    The fields to display when listing books in the database. Should be a comma separated list of fields. Available fields: author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, timestamp, title, uuid Default: title,authors. The special field "all" can be used to select all fields. In addition to the builtin fields above, custom fields are also available as *field_name, for example, for a custom field #rating, use the name: *rating

--for-machine
    產生適用於機器讀取用的JSON檔案，線寬及分隔符號將被忽略。

--limit
    結果顯示的最大數目。預設：全部

--line-width, -w
    輸出中單一行的最大寬度。預設值為偵測螢幕大小。

--prefix
    所有檔案路徑的前綴。預設值為書庫資料夾的絕對路徑。

--search, -s
    以搜尋的查詢來過濾結果。要了解搜尋的查詢格式，請參閱使用者手冊中的搜尋相關文件。預設值為不做任何過濾。

--separator
    用來分離欄位的字串。預設為空白。

--sort-by
    用來排序結果的欄位。 可用的欄位：author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, timestamp, title, uuid 預設值：id

ADD

calibredb add [options] file1 file2 file3 ...

將特定檔案當作書本加入至資料庫，亦可選擇目錄，請檢閱下方目錄相關選項。

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--authors, -a
    編輯已加入的書本作者

--cover, -c
    供已加入書本使用之書本封面路徑

--duplicates, -d
    在資料庫已經存在相同書名時依然加入。

--empty, -e
    加入空的電子書（沒有格式的書本）

--identifier, -I
    編輯書本識別碼。例如：-I asin:XXX -I isbn:YYY

--isbn, -i
    編輯已加入的書本 ISBN

--languages, -l
    以逗號分隔的語言清單(最好使用ISO639所規範的語言格式，不過有些語言的名稱也能夠識別)

--series, -s
    編輯已加入的書本系列

--series-index, -S
    編輯已加入的書本編號

--tags, -T
    編輯已加入的書本標籤

--title, -t
    編輯已加入的書本標題

  從目錄中加入

用來控制從目錄中添加書本的選項。預設情況下，只會添加具有已知電子書檔案副檔名的檔案。

--add
    檔案名（glob）模式，當掃描檔案目錄時，即使是未知電子書檔案類型，與此模式相符者依然會被加入，可以同時指定多個模式。

--ignore
    檔案名（glob）模式，當掃描檔案目錄時，與此模式相符者將被忽略。可以同時指定多個模式，例如：* .pdf將會忽略所有pdf檔案

--one-book-per-directory, -1
    假定每個目錄只有一本書，而在其中的所有檔案都是那本書的不同電子書格式

--recurse, -r
    遞迴地處理目錄

REMOVE

calibredb remove ids

Remove the books identified by ids from the database. ids should be a comma separated list of id numbers (you can get id numbers by using the search command). For example, 23,34,57-85 (when specifying a range, the last number in the range is not included).

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--permanent
    不使用資源回收桶

ADD_FORMAT

calibredb add_format [options] id ebook_file

Add the e-book in ebook_file to the available formats for the logical book identified by id. You can get id by using the search command. If the format already exists, it is replaced, unless the do not replace option is specified.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--dont-replace
    在格式已存在時不要取代

REMOVE_FORMAT

calibredb remove_format [options] id fmt

Remove the format fmt from the logical book identified by id. You can get id by using the search command. fmt should be a file extension like LRF or TXT or EPUB. If the logical book does not have fmt available, do nothing.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

SHOW_METADATA

calibredb show_metadata [options] id

Show the metadata stored in the calibre database for the book identified by id. id is an id number from the search command.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--as-opf
    以 OPF 表單 (XML) 列印元資料

SET_METADATA

calibredb set_metadata [options] id [/path/to/metadata.opf]

Set the metadata stored in the calibre database for the book identified by id from the OPF file metadata.opf. id is an id number from the search command. You can get a quick feel for the OPF format by using the --as-opf switch to the show_metadata command. You can also set the metadata of individual fields with the --field option. If you use the --field option, there is no need to specify an OPF file.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--field, -f
    The field to set. Format is field_name:value, for example: --field tags:tag1,tag2. Use --list-fields to get a list of all field names. You can specify this option multiple times to set multiple fields. Note: For languages you must use the ISO639 language codes (e.g. en for English, fr for French and so on). For identifiers, the syntax is --field identifiers:isbn:XXXX,doi:YYYYY. For boolean (yes/no) fields use true and false or yes and no.

--list-fields, -l
    列出所有 --field 可使用的元資料欄位

EXPORT

calibredb export [options] ids

Export the books specified by ids (a comma separated list) to the filesystem. The export operation saves all formats of the book, its cover and metadata (in an opf file). You can get id numbers from the search command.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--all
    導出資料庫中所有的書本，忽略 id 列表。

--dont-asciiize
    通常，calibre 會將所有的非英文字元轉換為英文同義字做為檔案名稱。警告：如果您將它關閉，您可能會在儲存時遇到錯誤，取決於您儲存的檔案系統對 unicode 支援程度。 指定這個開關會關閉這個行為。

--dont-save-cover
    Normally, calibre will save the cover in a separate file along with the actual e-book files. 指定這個開關會關閉這個行為。

--dont-update-metadata
    通常calibre將會更新從書庫中所儲存的元資料，這會讓儲存至磁碟變慢。 指定這個開關會關閉這個行為。

--dont-write-opf
    通常calibre會把元資料寫入個別的OPF檔，和真實的電子書分離。 指定這個開關會關閉這個行為。

--formats
    每本書本的格式列表，逗號間隔。預設保存所有可用格式。

--progress
    回報進度

--replace-whitespace
    以底線替代空格。

--single-dir
    將所有書本匯出到單一目錄

--template
    The template to control the filename and directory structure of the saved files. Default is "{author_sort}/{title}/{title} - {authors}" which will save books into a per-author subdirectory with filenames containing title and author. Available controls are: {author_sort, authors, id, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, tags, timestamp, title}

--timefmt
    顯示日期的格式。 %d - 日、 %b - 月、 %m - 數字月、 %Y - 年。預設值為： %b, %Y

--to-dir
    將書本匯出到指定的目錄。預設值為 .

--to-lowercase
    路徑轉換為小寫。

CATALOG

calibredb catalog /path/to/destination.(csv|epub|mobi|xml...) [options]

Export a catalog in format specified by path/to/destination extension. Options control how entries are displayed in the generated catalog output. Note that different catalog formats support different sets of options.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--ids, -i
    逗號分割資料庫 ID 到書目的列表。 一旦聲明，則忽略 --search 預設值：全部

--search, -s
    為搜尋查詢過濾結果。搜尋查詢格式請參見使用者手冊中搜尋相關內容。預設：不過濾

--verbose, -v
    顯示詳細的輸出資訊，便於除錯。

  EPUB選項

--catalog-title
    Title of generated catalog used as title in metadata. Default: 'My Books' Applies to: AZW3, EPUB, MOBI output formats

--cross-reference-authors
    Create cross-references in Authors section for books with multiple authors. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

--debug-pipeline
    Save the output from different stages of the conversion pipeline to the specified directory. Useful if you are unsure at which stage of the conversion process a bug is occurring. Default: 'None' Applies to: AZW3, EPUB, MOBI output formats

--exclude-genre
    Regex describing tags to exclude as genres. Default: '[.+]|^+$' excludes bracketed tags, e.g. '[Project Gutenberg]', and '+', the default tag for read books. Applies to: AZW3, EPUB, MOBI output formats

--exclusion-rules
    Specifies the rules used to exclude books from the generated catalog. The model for an exclusion rule is either ('<rule name>','Tags','<comma-separated list of tags>') or ('<rule name>','<custom column>','<pattern>'). For example: (('Archived books','#status','Archived'),) will exclude a book with a value of 'Archived' in the custom column 'status'. When multiple rules are defined, all rules will be applied. Default: "(('Catalogs','Tags','Catalog'),)" Applies to: AZW3, EPUB, MOBI output formats

--generate-authors
    Include 'Authors' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

--generate-descriptions
    Include 'Descriptions' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

--generate-genres
    Include 'Genres' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

--generate-recently-added
    Include 'Recently Added' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

--generate-series
    Include 'Series' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

--generate-titles
    Include 'Titles' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

--genre-source-field
    Source field for 'Genres' section. Default: '標籤' Applies to: AZW3, EPUB, MOBI output formats

--header-note-source-field
    Custom field containing note text to insert in Description header. Default: '' Applies to: AZW3, EPUB, MOBI output formats

--merge-comments-rule
    #<custom field>:[before|after]:[True|False] specifying: <custom field> Custom field containing notes to merge with Comments [before|after] Placement of notes with respect to Comments [True|False] - A horizontal rule is inserted between notes and Comments Default: '::' Applies to: AZW3, EPUB, MOBI output formats

--output-profile
    Specifies the output profile. In some cases, an output profile is required to optimize the catalog for the device. For example, 'kindle' or 'kindle_dx' creates a structured Table of Contents with Sections and Articles. Default: 'None' Applies to: AZW3, EPUB, MOBI output formats

--prefix-rules
    Specifies the rules used to include prefixes indicating read books, wishlist items and other user-specified prefixes. The model for a prefix rule is ('<rule name>','<source field>','<pattern>','<prefix>'). When multiple rules are defined, the first matching rule will be used. Default: "(('Read books','tags','+','✓'),('Wishlist item','tags','Wishlist','×'))" Applies to: AZW3, EPUB, MOBI output formats

--preset
    Use a named preset created with the GUI catalog builder. A preset specifies all settings for building a catalog. Default: 'None' Applies to: AZW3, EPUB, MOBI output formats

--thumb-width
    Size hint (in inches) for book covers in catalog. Range: 1.0 - 2.0 Default: '1.0' Applies to: AZW3, EPUB, MOBI output formats

--use-existing-cover
    Replace existing cover when generating the catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

SAVED_SEARCHES

calibredb saved_searches [options] (list|add|remove)

Manage the saved searches stored in this database. If you try to add a query with a name that already exists, it will be replaced.

Syntax for adding:

calibredb saved_searches add search_name search_expression

Syntax for removing:

calibredb saved_searches remove search_name

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

ADD_CUSTOM_COLUMN

calibredb add_custom_column [options] label name datatype

建立一個自訂的欄位，標籤名為機器讀取用的名稱，不能包含空格或冒號。名稱則是方便人類閱讀。資料類型可為：bool, comments, composite, datetime, enumeration, float, int, rating, series, text

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--display
    A dictionary of options to customize how the data in this column will be interpreted. This is a JSON string. For enumeration columns, use --display"{\ "enum_values\ ":[\ "val1\ ", \ "val2\ "]}" There are many options that can go into the display variable.The options by column type are: composite: composite_template, composite_sort, make_category,contains_html, use_decorations datetime: date_format enumeration: enum_values, enum_colors, use_decorations int, float: number_format text: is_names, use_decorations The best way to find legal combinations is to create a custom column of the appropriate type in the GUI then look at the backup OPF for a book (ensure that a new OPF has been created since the column was added). You will see the JSON for the "display" for the new column in the OPF.

--is-multiple
    這個欄儲存類似標籤的資料（例如多個逗號分隔的數值）。只有在資料類型為文字時套用。

CUSTOM_COLUMNS

calibredb custom_columns [options]

List available custom columns. Shows column labels and ids.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--details, -d
    顯示每一欄的詳細資料。

REMOVE_CUSTOM_COLUMN

calibredb remove_custom_column [options] label

Remove the custom column identified by label. You can see available columns with the custom_columns command.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--force, -f
    不需要進行詢問確認

SET_CUSTOM

calibredb set_custom [options] column id value

Set the value of a custom column for the book identified by id. You can get a list of ids using the search command. You can get a list of custom column names using the custom_columns command.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--append, -a
    如果欄位可存多值，將選定的屬性加入現有屬性中，而非取代。

RESTORE_DATABASE

calibredb restore_database [options]

Restore this database from the metadata stored in OPF files in each directory of the calibre library. This is useful if your metadata.db file has been corrupted.

WARNING: This command completely regenerates your database. You will lose all saved searches, user categories, plugboards, stored per-book conversion settings, and custom recipes. Restored metadata will only be as accurate as what is found in the OPF files.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--really-do-it, -r
    確實執行還原。這個指令除非指定這個選項否則不會執行。

CHECK_LIBRARY

calibredb check_library [options]

Perform some checks on the filesystem representing a library. Reports are invalid_titles, extra_titles, invalid_authors, extra_authors, missing_formats, extra_formats, extra_files, missing_covers, extra_covers, failed_folders

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--csv, -c
    輸出為 CSV

--ignore_extensions, -e
    以逗號分割忽略的副檔名。 預設值：全部

--ignore_names, -n
    以逗號分割忽略的檔名。 預設值：全部

--report, -r
    以逗號分割報告清單。 預設值：全部

LIST_CATEGORIES

calibredb list_categories [options]

Produce a report of the category information in the database. The information is the equivalent of what is shown in the tags pane.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--categories, -r
    以逗號分割分類查詢名稱。 預設值：全部

--csv, -c
    輸出為 CSV

--dialect
    指定輸出的CSV檔案格式，格式: excel, excel-tab

--item_count, -i
    只列出每個分類中的書本總數，而不是列出每個分類中的書本。

--width, -w
    輸出中單一行的最大寬度。預設值為偵測螢幕大小。

BACKUP_METADATA

calibredb backup_metadata [options]

Backup the metadata stored in the database into individual OPF files in each books directory. This normally happens automatically, but you can run this command to force re-generation of the OPF files, with the --all option.

Note that there is normally no need to do this, as the OPF files are backed up automatically, every time metadata is changed.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--all
    此命令通常僅對於過時的OPT檔案進行操作，此選項會使它在所有的書本上操作。

CLONE

calibredb clone path/to/new/library

Create a clone of the current library. This creates a new, empty library that has all the same custom columns, virtual libraries and other settings as the current library.

The cloned library will contain no books. If you want to create a full duplicate, including all books, then simply use your filesystem tools to copy the library folder.

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

EMBED_METADATA

calibredb embed_metadata [options] book_id

Update the metadata in the actual book files stored in the calibre library from the metadata in the calibre database. Normally, metadata is updated only when exporting files from calibre, this command is useful if you want the files to be updated in place. Note that different file formats support different amounts of metadata. You can use the special value 'all' for book_id to update metadata in all books. You can also specify many book ids separated by spaces and id ranges separated by hyphens. For example: calibredb embed_metadata 1 2 10-15 23

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--only-formats, -f
    只更新特定格式檔案的元資料，可以多次指定多個檔案格式。預設會更新所有格式的檔案。

SEARCH

calibredb search [options] search expression

Search the library for the specified search term, returning a comma separated list of book ids matching the search expression. The output format is useful to feed into other commands that accept a list of ids as input.

The search expression can be anything from calibre's powerful search query language, for example: author:asimov title:robot

Whenever you pass arguments to calibredb that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

--limit, -l
    結果回傳結果的最大數目。預設回傳全部結果

AUTHOR
Kovid Goyal

COPYRIGHT
Kovid Goyal