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.
- remove
- add_format
- remove_format
- show_metadata
- set_metadata
- export
- catalog
- saved_searches
- add_custom_column
- custom_columns
- remove_custom_column
- set_custom
- restore_database
- check_library
- list_categories
- backup_metadata
- clone
- embed_metadata
- search
- fts_index
- fts_search
通用選項
- --library-path,
--with-library
- calibre
書庫的路徑。預設是使用儲存在設定中的路徑。您還可以連接到
calibre
內容伺服器,以便在遠端書庫上執行操作。為此使用表單的
URL:http://hostname:port/#library_id
例如,http://localhost:8080/#mylibrary。library_id
是要在內容伺服器上連接的書庫的書庫
id。您可以使用特殊的
library_id
值來取得伺服器上可用書庫
id
的清單。有關如何透過內容伺服器設定存取的詳細資訊,請參閱https://manual.calibre-ebook.com/generated/en/calibredb.html。
- --password
- 用來連線至 calibre
伺服器的密碼。要使用標準輸入中讀取密碼,請使用特殊值:<stdin>。如果要從檔案中讀取密碼,請使用:<f:/path/to/file>(
例如: <f:
檔案的完整路徑以及後置
>)。前方所寫的角括號是必須使用的,請記得在命令介面中使用跳脫字元或是引號。
- --timeout
- 透過網路連接到 calibre
書庫時的逾時時間,以秒為單位。預設值為兩分鍾。
列出 calibre
資料庫中可用書本。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
- --fields,
-f
- 在列出資料庫中書籍時要顯示的欄位。應該是逗號分隔的欄位列表。
可用欄位: author_sort, authors, comments,
cover, formats, identifiers, isbn, languages, last_modified, pubdate,
publisher, rating, series, series_index, size, tags, template, timestamp,
title, uuid
預設值:title,authors。特殊欄位「all」可用於選擇所有欄位。除了上述內建欄位之外,自訂欄位還等價於*field_name,例如,對於自訂欄位#rating,使用名稱:*rating
- --search,
-s
- 以搜尋的查詢來過濾結果。要了解搜尋的查詢格式,請參閱使用者手冊中的搜尋相關文件。預設值為不做任何過濾。
- --sort-by
- The field by which to sort the results. You can specify multiple fields by
separating them with commas. Available fields: author_sort, authors,
comments, cover, formats, identifiers, isbn, languages, last_modified,
pubdate, publisher, rating, series, series_index, size, tags, template,
timestamp, title, uuid Default: id
- --template
- The template to run if "template" is in the field
list. Default: None
- --template_file,
-t
- Path to a file containing the template to run if
"template" is in the field list. Default:
None
- --template_heading
- Heading for the template column. Default: template. This option is ignored
if the option --for-machine is set
calibredb add [選項] file1 file2 file3 ...
加入指定檔案為書籍到資料庫。您可以指定目錄,請檢視下面目錄相關選項。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
- --automerge,
-m
- 如果找到具有相似標題和作者的圖書,請自動將傳入格式(檔案)合併到現有圖書記錄中。值「Ignore」表示丟棄重複的格式。值「overwrite」表示書庫中的重複格式將被新加入的檔案覆蓋。值「new_record」表示將重複的格式放入新的圖書記錄中。
正在從資料夾中加入
用來控制從資料夾中加入書本的選項。預設情況下,只會加入具有已知電子書檔案類型的檔案。
- --add
- 檔名 (glob)
模式,在掃描資料夾中的檔案時將加入與此模式相符的檔案,即使這些檔案不是已知的電子書檔案類型。可以為多個模式多次指定。
- --ignore
- 檔名模式 (glob)
,在掃瞄資料夾中的檔案時,與此模式相符的檔案將被忽略。可以為多個模式多次指定。例如:*.pdf
將忽略所有 PDF 檔案
從資料庫移除指定
id 的書籍。ids
應為以逗號分隔的 id
號列表(您可以使用搜尋命令來取得
id 號)。例如,23,34,57-85
(如果指定一個區間,該區間的最後一個數字不會被包括在內)。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb add_format [options] id ebook_file
用 ebook_file
將電子書加入到由 id
標識的邏輯圖書的可用格式中。如果格式已經存在,則取代它,除非指定了不取代選項。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb remove_format [options] id fmt
從 ID
辨識的邏輯書中刪除 fmt
格式。您可以透過使用搜尋命令取得
ID。fmt 應該是形如 LRF 或 TXT
或 EPUB
的一個檔案副檔名。如果邏輯書沒有
fmt
可用則什麼也不做。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb show_metadata [options] id
顯示在 calibre
資料庫中儲存的 id
所標識的圖書的中繼資料。
id 是來自搜尋命令的 id
編號。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb set_metadata [options] book_id [/path/to/metadata.opf]
Set the metadata stored in the calibre database for the book
identified by book_id from the OPF file metadata.opf. book_id is a book 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.
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
- --field,
-f
- 設定欄位。格式是field_name:value,例如:--field
tags:tag1,tag2。使用:option:--list-fields`來取得所有欄位名稱的列表。您可以多次指定此選項來設定多個欄位。注意:對於語言,您必須使用ISO639語言代碼
(例如en代表英文,fr代表法語等)。對於識別項,語法是:option:--field`
identifiers:isbn:XXXX,doi:YYYYY。對於布林(是/否)欄位使用真與假或是和否。
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). Any extra data files associated with
the book are also saved. You can get id numbers from the search command.
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/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.
指定這個開關會關閉這個行為。
- --template
- The template to control the filename and folder structure of the saved
files. Default is "{author_sort}/{title}/{title} -
{authors}" which will save books into a per-author subfolder
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
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. To see the different options, specify the name of
the output file and then the --help option.
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
- --ids, -i
- 逗號分割資料庫 ID
到書目的列表。
一旦聲明,則忽略
--search 預設值:全部
- --debug-pipeline
- Save the output from different stages of the conversion pipeline to the
specified folder. 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
- 描述以排除类型的标签正则表达式。
默认值: '[.+]|^+$'
不包括括号内的标签,例如
'[Project Gutenberg]', 和 '+',
默认的用于阅读书籍的标签。
适用于: AZW3, EPUB, MOBI
输出格式
- --exclusion-rules
- 指定用於從產生的目錄中排除書籍的規則。
排除規則的模型是('<rule
name>','標籤','<comma-separated
list of tags>') 或('<rule
name>','<custom
column>','<pattern>')。
例如:
(('已封存的書籍','#狀態','已封存'),)
將在自訂列「狀態」中排除值為「已封存」的圖書。定義多個規則時,將套用所有規則。
預設:
"(('Catalogs','Tags','Catalog'),)"
適用於: AZW3, EPUB, MOBI
輸出格式
- 包含要在描述标头中插入的注释文本的自定义域。
默认值: '' 适用于: AZW3,
EPUB, MOBI输出格式
- --merge-comments-rule
- #<custom field>:[before|after]:[True|False] 指定:
<custom field>
包含與註解合併的註解的自訂欄位
[before|after]
關於註解的註解放置位置
[True|False] -
在備註和註解之間插入水平規則
預設值: '::' 適用於:
AZW3, EPUB, MOBI 輸出格式
- --output-profile
- 指定输出配置文件。在某些情况下,输出配置文件用于优化某些设备的书目分类。例如,'kindle'
或 'kindle_dx'
以章节和文章的方式来生成目录结构。默认:'None'
适用于:AZW3、EPUB、MOBI
等输出格式
- --prefix-rules
- 指定用於包括表示已讀書籍,收藏清單項目和其他使用者定前綴的前綴的規則。
前綴規則的模型 ('<rule
name>','<source
field>','<pattern>','<prefix>')。
當定義了多個規則時,將使用第一個相符規則。
預設規則: "(('Read
books','tags','+','✓'),('Wishlist
item','tags','Wishlist','×'))"
適用於:AZW3, EPUB, MOBI
輸出格式
- --preset
- 使用GUI目录生成器创建的命名预设。
预设指定用于构建目录的所有设置。
默认值: 'None' 适用于:
AZW3, EPUB, MOBI 输出格式
- --thumb-width
- 目录中书籍封面的大小提示(英寸)。
范围: 1.0 - 2.0 默认值:
'1.0' 适用于: AZW3, EPUB, MOBI
输出格式
calibredb saved_searches [options] (list|add|remove)
管理儲存在該資料庫中的儲存搜尋。
如果嘗試加入已經存在的一個名稱查詢,
則它將被取代。
加入語法:
calibredb saved_searches add search_name
search_expression
刪除語法:
calibredb saved_searches remove search_name
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb add_custom_column [options] label name datatype
建立一個自訂的欄位,標籤名為機器讀取用的名稱,不能包含空格或冒號。名稱則是方便人類閱讀。資料類型可為:bool,
comments, composite, datetime, enumeration, float, int, rating, series,
text
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
- --display
- 一個自訂選項如何解釋該列中資料的字典。這是一個
JSON
字串。對於枚舉列,使用
--display"{\ "enum_values\ ":[\
"val1\ ", \ "val2\
"]}"
有許多選項可以進入顯示變數,按列類型的選項是:
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
找到適當組合的最好方法是在
GUI
中建立適當類型的自訂列,然後檢視圖書的備份
OPF
(確保自從加入該列以來已經建立了新的
OPF)。在 OPF
中的新列中,您將看到
JSON 的「顯示」。
calibredb custom_columns [options]
列出可用的自訂列欄位。顯示欄位標籤和
ids。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb remove_custom_column [options] label
用標籤刪除的自訂列標識。可以使用custom_columns
command命令檢視可用列
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb set_custom [options] column id value
為 id
標識的書設定自訂列的值。
您可以使用搜尋命令取得
id 列表。 您可以使用
custom_columns
命令取得自訂列名的列表。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb restore_database [options]
Restore this database from the metadata stored in OPF files in
each folder 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.
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb check_library [options]
對表示書庫的檔案系統執行一些檢查。產生報告是
invalid_titles, extra_titles, invalid_authors, extra_authors,
missing_formats, extra_formats, extra_files, missing_covers, extra_covers,
failed_folders
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb list_categories [options]
在資料庫中產生一個目錄資訊的報告。
該資訊與標籤窗格中顯示的資訊等效。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
- --dialect
- 指定輸出的CSV檔案格式,格式:
excel, excel-tab, unix
calibredb backup_metadata [選項]
將儲存在資料庫中的中繼資料備份到每個圖書資料夾中的
單個 OPF
檔案中。這通常是自動發生的,但是您可以執行
此命令來強制重新產生
OPF 檔案,並使用 --all
選項。
請注意,通常不需要這樣做,因為每次中繼資料變更時,
OPF
檔案都會自動備份。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
- --all
- 此命令通常僅對於過時的OPT檔案進行操作,此選項會使它在所有的書本上操作。
calibredb 複製到 path/to/new/library
建立目前書庫的副本。它建立了一個新的、空的書庫,它所有的自訂列、虛擬書庫和其他設定與目前書庫相同。
副本書庫將沒有任何書籍。如果您想要建立一個完整的副本書庫,包括所有的書籍,那麼只需使用您的檔案系統工具來複製書庫資料夾。
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb embed_metadata [options] book_id
從 calibre
資料庫中的中繼資料更新儲存在
calibre
書庫中的實際圖書檔案中的中繼資料。
通常,只有從 calibre
匯出檔案時才更新中繼資料,如果希望檔案就地更新,則此命
令很有用。請注意,不同的檔案格式支援不同數量的中繼資料。您可以使用book_id
的特殊值「all」來更新所有書籍中的中繼資料。還可以指定許多由空間分隔的書籍
ID 和由連字號分隔的 ID
範圍。例如:calibredb
embed_metadata 1 2 10-15 23
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb search [options] search expression
搜尋書庫中指定的搜尋項目,返回與搜尋運算式相符的以逗號分隔的圖書ID列表。輸出格式對於輸入格式接受ID列表的其他命令非常有用。
搜尋運算式可以是來自calibre強大的搜尋查詢語言中的任何內容,例如:calibredb
search author:asimov 'title:"i robot"'
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
calibredb fts_index [options] enable/disable/status/reindex
Control the Full text search indexing process.
- enable
- Turns on FTS indexing for this library
- disable
- Turns off FTS indexing for this library
- status
- Shows the current indexing status
- reindex
- Can be used to re-index either particular books or the entire library. To
re-index particular books specify the book ids as additional arguments
after the reindex command. If no book ids are specified the entire library
is re-indexed.
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
- --indexing-speed
- 索引的速度。使用快速索引可使用所有電腦資源進行快速索引,使用慢速索引可使用較少的資源進行索引。請注意,每次呼叫索引後,索引速度都會重設為
Slow。
calibredb fts_search [options] search expression
Do a full text search on the entire library or a subset of it.
每当向具有它们自己空间的calibredb传递参数时,用引号括起这些参数。例如:
"/some path/with spaces"
- --include-snippets
- Include snippets of the text surrounding each match. Note that this makes
searching much slower.
- --indexing-threshold
- How much of the library must be indexed before searching is allowed, as a
percentage. Defaults to 90
- --output-format
- The format to output the search results in. Either
"text" for plain text or
"json" for JSON output.
- --restrict-to
- Restrict the searched books, either using a search expression or ids. For
example: ids:1,2,3 to restrict by ids or search:tag:foo to restrict to
books having the tag foo.