LibreOffice Calcをコマンドで使い、ODSファイルをCSVファイルに変換するバッチファイル

LibreOffice Calcの`*.ods`ファイルを`*.csv`ファイルに変換するバッチファイル

WindowsのエクスプローラーでMDファイルをプレビューできるようにするためにはPowerToysをインストールする

  • 以下のダウンロード先から、自分のPCに適合するインストーラーをダウンロードしてインストールする。
  • Releases · microsoft/PowerToys
    • ※バージョン番号は、適宜、読み替えてください。
    • Machine wide - x64|PowerToysSetup-0.90.1-x64.exe
      • 該当するCPU
        • Intel Core iシリーズ(例:Intel Core i5, i7, i9など)
        • AMD Ryzenシリーズ(例:Ryzen 5, Ryzen 7, Ryzen 9など)
    • Machine wide - ARM64|PowerToysSetup-0.90.1-arm64.exe
      • 該当するCPU
        • Qualcomm Snapdragonシリーズ(例:Snapdragon 8cx, Snapdragon 7cなど)
        • Microsoft SQ1、SQ2、SQ3(Surface Pro Xなどに搭載)
  • PowerToysのアイコンは、Windowsの[タスクバーコーナー]または[システムトレイ]とよばれる[>]のアイコンがあるところを開くと出てくる。
    • PowerToysのアイコンをダブルクリック→左側ペイン[プレビュー]→[プレビューを有効にする]をONにする。
    • Windowsのエクスプローラーの[表示]で、[プレビュー ウィンドウ]を選択すると、プレビューができるようになる。

このバッチファイルの作成趣旨

  • Windowsのエクスプローラーなどのファイラー〔File Manager〕を使って、フォルダー/ファイルを整理整頓したい。
  • Windowsのエクスプローラーなどのファイラーでは、LibreOffice Calcの*.odsファイルがプレビューできない。
  • このため、Windowsのエクスプローラーなどのファイラーを使って、いちいちファイルを開く必要がある。
  • その状態では、ファイルの要・不要を仕分けするために、膨大な時間が必要となる。
  • そこでLibreOffice Calcの*.ods*.csvファイルに変換するバッチファイルをAIに作ってもらった。

LibreOfficeへのパスを通す

  • Windowsの検索窓で[環境変数]と検索する。
  • [システムのプロパティ]→[詳細設定]→[環境変数(N)]→[Path]→[新規(N)]→[C:\Program Files\LibreOffice\program]→[OK]→[OK]→[OK]
  • 以上で[システムのプロパティ]のWindowを閉じる。
  • PCの再起動を行なうと、パスが通っているので、どのディレクトリからでも、LibreOffice Calcその他のLibreOfficeを起動することができるようになる。

LibreOffice Calcの*.odsファイルを*.csvファイルに変換するバッチファイル

:: バッチファイルをUTF-8で保存するときのバッチファイルの先頭は、【1】【2】のどちらでもよい。
:: UTF-8保存時は[BOMなし]と[改行コードCR+LF]の設定が必須である。
:: ●●●【1】
:: @echo off
:: chcp 65001 > nul
:: ●●●【2】
:: chcp 65001 > nul
:: @echo off

@echo off
chcp 65001 > nul

REM 変換したいフォルダのパスを指定(例: C:\Users\%username%\Documents\odsfiles)
set "TARGETDIR=C:\Users\%username%\Documents\odsfiles"

REM ここでディレクトリを移動しなければ、このバッチファイルがあるディレクトリに、`*.csv`ファイルが書き連ねられることとなる。
cd C:\Users\%username%\Documents\odsfiles

REM LibreOfficeのコマンド名(パスが通っていればそのまま、通っていなければフルパスで指定)
set "SOFFICE=soffice"

REM サブフォルダも含めてすべてのODSファイルを処理
for /r "%TARGETDIR%" %%F in (*.ods) do (
    echo 変換中: "%%F"
    "%SOFFICE%" --headless --convert-to csv:"Text - txt - csv (StarCalc):44,34,76,1,,0,false,true" "%%F"
)
echo すべての変換が完了しました。
pause

rem exit /b

Windowsのエクスプローラーで[名前]でソートする

  • C:\Users\%username%\Documents\odsfilesなど、自分が指定したフォルダーにおいて、Windowsのエクスプローラーで[名前]でソートする。
  • それによって、LibreOffice Calcの*.ods*.csvファイルとが、上下に並ぶので、*.csvファイルにマウスカーソルを合わせると、*.odsファイルの概略がわかる。
  • *.csvファイルの内容をプレビューすることによって、間接的に*.odsの内容を知り、そのファイルの要・不要を判断して、適宜、削除することができる。

教訓

  • 表計算ソフトで管理する必然性がなければ、*.csvファイルに変換して保存し、*.odsファイルはその都度、削除しておかないと、雑多なファイルが増殖することになる。
  • 表〔テーブル〕は*.csvファイルに変換して保存せよ。

CSV+は、列数が多いとフリーズする|Cassavaが無難かも