概要
SQLiteアーカイブ内のファイルを取り出す(展開する)には「-x」オプションを使用する。
取り出す際には同じファイルパスの上書きに関する警告等は出ないので注意すること。
実行環境
- Windows 10 64bit
- SQLite3 (3.39.2) Command-Line Shell
コマンドプロンプトやBashでアーカイブ内のファイルを取り出す
C:\temp>rem # 1.
C:\temp>sqlite3 sample.sqlar -At
sample1.txt
sample2.txt
C:\temp>rem # 2.
C:\temp>sqlite3 sample.sqlar -Ax sample1.txt
C:\temp>rem # 3.
C:\temp>dir
ドライブ C のボリューム ラベルは Windows です
ボリューム シリアル番号は XXXX-XXXX です
C:\temp のディレクトリ
2022/10/02 22:46 <DIR> .
2022/10/02 22:46 <DIR> ..
2022/10/02 22:46 1,536 sample.sqlar
2022/08/16 12:12 9 sample1.txt
4 個のファイル X,XXX バイト
2 個のディレクトリ X,XXX,XXX,XXX バイトの空き領域
- アーカイブ内のファイルを確認する
- アーカイブからsample1.txtを取り出す
- アーカイブ内のファイルが取り出されたことが確認できる
コマンドラインツール起動中にアーカイブ内のファイルを取り出す
sqlite> -- # 1.
sqlite> .archive -t
sample1.txt
sample2.txt
sqlite> -- # 2.
sqlite> .archive -x sample1.txt
sqlite> -- # 3.
sqlite> .shell dir
ドライブ C のボリューム ラベルは Windows です
ボリューム シリアル番号は XXXX-XXXX です
C:\temp のディレクトリ
2022/10/02 22:50 <DIR> .
2022/10/02 22:50 <DIR> ..
2022/10/02 22:46 1,536 sample.sqlar
2022/08/16 12:12 9 sample1.txt
2022/08/16 12:12 9 sample2.txt
2022/08/16 12:12 9 sample3.txt
4 個のファイル X,XXX バイト
2 個のディレクトリ X,XXX,XXX,XXX バイトの空き領域
- アーカイブ内のファイルを確認する
- アーカイブからsample1.txtを取り出す
- アーカイブ内のファイルが取り出されたことが確認できる
複数/全てのアーカイブ内のファイルを一括で取り出す
スペース区切りでファイルパスを複数指定すれば複数のファイルを取り出せる。
sqlite> -- # 1.
sqlite> .archive -t
sample1.txt
sample2.txt
sample3.txt
sqlite> -- # 2.
sqlite> .archive -x sample1.txt sample2.txt
sqlite> -- # 3.
sqlite> .shell dir
ドライブ C のボリューム ラベルは Windows です
ボリューム シリアル番号は XXXX-XXXX です
C:\temp のディレクトリ
2022/11/02 06:22 <DIR> .
2022/11/02 06:22 <DIR> ..
2022/11/02 06:19 1,536 sample.sqlar
2022/08/16 12:12 9 sample1.txt
2022/08/16 12:12 9 sample2.txt
3 個のファイル x,xxx バイト
2 個のディレクトリ x,xxx,xxx,xxx バイトの空き領域
- アーカイブ内に3つのファイルが登録されていることを確認する
- ファイルパスを複数指定してアーカイブから取り出す
- 指定したファイルが取り出されていることが確認出来る
ファイルパスを指定しなければ全てのファイルが取り出せる。
sqlite> -- # 1.
sqlite> .archive -t
sample1.txt
sample2.txt
sample3.txt
sqlite> -- # 2.
sqlite> .archive -x
sqlite> -- # 3.
sqlite> .shell dir
ドライブ C のボリューム ラベルは Windows です
ボリューム シリアル番号は XXXX-XXXX です
C:\temp のディレクトリ
2022/11/02 06:52 <DIR> .
2022/11/02 06:52 <DIR> ..
2022/11/02 06:19 1,536 sample.sqlar
2022/08/16 12:12 9 sample1.txt
2022/08/16 12:12 9 sample2.txt
2022/08/16 12:12 9 sample3.txt
4 個のファイル X,XXX バイト
2 個のディレクトリ X,XXX,XXX,XXX バイトの空き領域
- アーカイブ内に3つのファイルが登録されていることを確認する
- ファイルパスを複数指定せずにアーカイブから取り出す
- 全てのファイルが取り出されていることが確認出来る
参考URL
-
Command Line Shell ForSQLite
公式のコマンドラインツールに関するドキュメント
https://www.sqlite.org/cli.html -
SQLite Archive Files
公式のSQLite形式のアーカイブに関するドキュメント
https://sqlite.org/sqlar.html