xdata の説明書
2023/04/13記
1.xdata の概要(Windows の実行ファイルは xdata.exe、Linux のは xdata)
本説明書は xdata 2023/04/11 版でキーワードをカラー表示するようにしたものに基づき説明しています。
xdata はプログラミング言語 rust で作成されたキャラクターベース(CUI)のユーティリティーです。
操作は主にコマンドプロンプト上でキー入力を用いて操作します。また、データファイルへの入力は別途テキストエディタまたはそれ相当のアプリを使用し、データファイルの文字コードはUTF8を使用します。
これらに違和感をお持ちの方には、本ユーティリティーの使用はお勧めしません。
このユーティリティーは例えれば、テーマごとに異なる複数のノートブック(実際には複数のテキストデータファイルで最大99個)を扱うことができます(データファイルは1個でももちろん利用できます)。
テーマが決まったテキストデータファイルに「テーマ名.txt」というファイル名でテキストデータ格納フォルダーに格納します。
ノートブック内のページに相当するのが「タイトル名」です。タイトル名はその行を半角の鍵かっこ [ ] で囲んで表示します。
その [ ] で囲んだタイトルの下にそのタイトルに関する情報や説明、覚書などをテキストエディタを使って記入していきます。
タイトル名の最大個数は2万個です。タイトル名の下に記述する文章の長さには制限を設けていません。
データファイルが出来上がってからが、このユーティリティー xdata の出番です。
xdata を動かすと、テーマファイルを選択してから、そのテーマファイル内の記述事項に対してキーワード検索をし、キーワードを含むタイトル毎に画面に表示していきます。
データがどれほど多くてもどれほど古くても、キーワードの入力で必要なタイトルに記述された内容を呼び出すことができます。
実際の用途としては、勉強ノートの代用、覚書、備忘録などとなります。
また、サンプルでも提供している Eventmemo.txt というデータファイルを使うと、これが日記帳に使える体裁になっており、日々記入した出来事を何年たってもキーワード入力で呼び出すことができて大変便利です。
日記帳を毎年作り変えることなく何十年も(システム上2万日分、すなわち54年9か月分が限度ですが)続けて利用できます。(筆者は1989年からのデータを格納して利用しており毎日更新、つまり日記をつけています。以前は Microsoft ACCESS を使って日記をつけていたのを、xdata を開発したので切り替えました)。
ただし、データがコンピュータ上にあるので必ず定期的にデータファイルのバックアップをとっていただかないと、何年も蓄積された大切な記録がなくなってしまう危険性はありますのでご注意ください。
特に Windows をクリーンインストールすると、これらデータも消えてしまいますので、必ずバックアップをお願いします。
2.動作環境と必要ファイルのダウンロード
OS: Windows版は Windows 10、Windows 11 の Windows ターミナル
注:Windows Vista、7、8 等でも動くと思いますが、コマンドプロンプトでは文字の着色表示が正常にできませんのでお勧めしません。
Linux 版は Windows Subsystem for Linux の LinuxMint 20.045、 ChromeOS 上の Linux ベータ版(Intel CPU)で動作確認しています。
ChromeBook版は Lenovo Chromebook S330 Chrome OS Version 111 32bit (ARM CPU)の Linux ベータ版で動作確認をしています。
Windows版に必要なランタイム: Microsoft Visual c++ ビルドツール
具体的には、Visual Studio 2022 for Windows および Mac のダウンロード (microsoft.com) から
「Visual Studio 2022 のツール」を前もってダウンロードしてインストールしておいてください。
なお対象として取り扱うテキストデータファイルはすべて文字コード UTF8 であるとします。
文字コードが Shift-JIS の場合は正常動作しません(文字化け等)。
Linux 版とChromeBook版は特にランタイムなどは不要で、そのまま動作します。
3.データテキストファイルの作成方法
データテキストファイルの作成ルールは1つだけです。
タイトル名を半角鍵かっこ [ ] で囲みます。[ ] で囲んだ両外側には絶対に文字を入れないでください。
テキストの1行をプログラムが読み込んで両端が鍵かっこである場合のみ、その行がタイトル行と判断します。
保存する際の文字コードは UTF8 にして、改行コードは LF のみ(UNIX スタイル)にしてください。
例
[エクスペリエンススコア] … これがタイトル行になります。
winsat formal を実行してから
pwsh Get-CimInstance Win32_WinSAT
例
Get-CimInstance Win32_WinSAT
CPUScore : 9.2
D3DScore : 9.9
DiskScore : 8.05
GraphicsScore : 8.4
MemoryScore : 9.2
TimeTaken : MostRecentAssessment
WinSATAssessmentState : 1
WinSPRLevel : 8.05
PSComputerName :
CPUScore プロセッサのサブスコア
(1秒あたりの計算)
D3DScore ゲーム用グラフィックスのサブスコア
※Windows10では常に9.9固定です。
DiskScore プライマリハードディスクのサブスコア
(ディスクのデータ転送速度)
GraphicsScore グラフィックスのサブスコア
(WindowsAeroのデスクトップパフォーマンス)
MemoryScore メモリのサブスコア
(1秒あたりのメモリ操作)
TimeTaken 前回の評価日時
WinSATAssessmentState 評価の状態(1:評価済 2:要再評価)
WinSPRLevel 基本スコア値
※一番低いサブスコア値です。
[次のタイトル行]
以下、次の内容文
[次のタイトル行] を書く場合は、その前の説明文の最終行から2行程度空けると読みやすくなります。
具体例としては、サンプルのテキストデータファイルを参照してください。
4.実際に xdata をいよいよ動かしてみます。
サンプルデータをここをクリックしてダウンロードしてください。
これは zip で圧縮されています。
解凍すると、次の4個のファイルが解凍されるので、テキストデータフォルダーにコピーしてください。
Eventmemo.txt
Powershell.txt
Rust.txt
Windows10.txt
ある程度操作方法を理解された時点で、これらサンプルファイルは削除し、ご自身で作成したデータファイルをご利用ください。
自作のテキストデータファイルをまだ作成していない場合でも、サンプルデータで試してみることはできます。
この説明書ではサンプルデータを使用して説明します。
まず、コマンドプロンプトで 「xdata テキストデータのフォルダー名」 とキーインしてxdata を引数を指定して起動します。
(Windows
の例で、テキストデータのフォルダー名が T:\temp\txtdata
と仮定します。)
Windows で Microsoft Visual C++ ビルドツールがインストールされていない場合、
というエラーメッセージが表示されて、プログラムは動きません。Microsoft Visual C++ ビルドツールをインストールの上、再度実行してください。
引数に指定したフォルダー名が存在しなかった場合

というメッセージが出て、プログラムは終了します。
txtdata フォルダーにデータが適切に存在する場合のみ、下記のようなメニュー画面が現れます。

これが正常動作した場合の最初の画面です。テキストデータファイルはサンプルを使用しています。
次に、検索対象ファイルの番号を半角数字で入力します。例として、4 Windows10.txt を選択してみます。

・編集する場合
e を押してからENTERを押してください。

すると、上記のようにテキストエディタが起動し、Windows10.txt の編集モードになり編集ができます。
テキストエディタ: このユーティリティーで使用を想定しているテキストエディタは
Windows: サクラエディタ、Notepad++、Terapad、メモ帳です。
Linux : XED、gedit、medit です。medit はクロームブックの場合漢字が使用できます。
これらのテキストエディタがインストールされていない場合は、「編集」作業ができませんので、ご注意ください。
ただし、Eventmemo.txt を扱う場合には、前回アクセスした箇所を表示できる機能を持ったものをお勧めします。
筆者が使用しているのは「サクラエディタ」や「notepad++」です。
Windows に付属する「メモ帳」は UTF8
は扱えるのですが、起動したときに前回表示していた個所を表示せず、最初の行からの表示になるので、あまりお勧めできません。
・キーワードを入力して検索する場合
ENTER のみ押してください。

入力された半角数字が、タイトル番号の範囲外の場合は、その数字は検索キーワード1として認識されます。
タイトル番号(この場合は 17 を入力してみます。

タイトル番号 17 の [Chromium edge の検索エンジンを変更する] が画面上に表示されました。
キーワード1として「ショートカット」を入力してみます。キーワード1のみとして、キーワード2の入力は ENTER
のみとすると検索キーワードが1個のみとして検索実行します。

ここで ENTER を押し続けると、キーワード1の「ショートカット」を含むタイトルページが次々と表示されていきます。
データの表示が終わると、

ENTER のみを入力すると再度タイトル表示されて
が表示されて、以前の画面に戻り再建策ができます。
キーワードは2個まで入力でき、AND 検索か OR 検索を選択できるようになっています。
5.日記帳/スケジュール表データ(Eventmemo.txt)の操作
(注)以前のホームページで紹介した wdata で使用する eventmemo.txt はこの xdata でも引き続き利用できます。
Eventmemo.txt の一般的な作成方法はこちらを参照してください。
xdata t:\temp\txtdata を起動して、サンプルデータ Eventmemo.txt を検索します。編集の場合はテキストエディタが開いて編集モードになります。

Eventmemo.txt を選択した場合のみ、タイトル行の一覧は表示されません。これはこのデータのタイトル行が日付そのものになっているため、日付を全表示すると何年分もの日付が表示されて検索目的にそぐわないためです。日付を検索する場合は、キーワード1に日付を入力すればできます。
(注)テキストデータファイル名が Eventmemo.txt
の場合のみ、「検索」を選択するとタイトルの一覧表示はされません。
これはタイトル表示に日付名を使用しているため、多くの日付をタイトル一覧表示するには意味がないためです。
ちなみに、検索キーワード1に日付「2020/10/07」を入力してみます。キーワード2は ENTER のみです。

このタイトルは年月日を指定しているので1個しか該当しません。このキーワード1に、例えば 2020/10/1 と入力すれば、2020/10/10 ~ 2020/10/19 までのタイトルが順次表示されます。
また、キー2を入力することで、AND または OR 検索ができます。試してください。
例として、キー1に「チャーハン]、キー2に「空き巣」を入力して、OR 検索した例を示します。

検出されたキーワード1は緑色、キーワード2は青色で表示されます。
以上で説明を終わります。(注)上記で検索出来たデータは架空のもので実在しません。
なお日付範囲が2020/10/1 ~ 2050/12/31で作成したサンプルデータ (Eventmemo.txt)
はこちらからダウンロードできます。
この日付範囲以外の Eventmemo.txt を作成したい場合は、powershell 7 で作成したシェルスクリプト
mkdays.ps1 を使用してください。
(注)Eventmemo.txt
で配布されるサンプルには、「出来事」のデータは一切入力されていませんので、日付範囲が2020/10/1 ~ 2050/12/31
のままでよければ、本データとして検索、書き込み用に使用できます。
6.バッチファイルでの運用
xdata の実行ファイルは path の通ったフォルダーに保存しておくと、いちいち xdata の保存場所を指定して起動しなくても xdata だけで起動できるようになるのでお薦めです。
xdata 起動時にデータフォルダー名(絶対パス名)を指定しなければなりませんが、起動のたびにデータフォルダー名をキーインするのは面倒なため、下記のようなバッチファイル(Linux では Shell)を作成して path の通ったフォルダーに保存しておくと、そのバッチファイルを起動するだけで「xdata + データフォルダー名」が入力できるので便利です。
Windows の例 バッチファイル名を例えば rdata.bat で、データフォルダー名が t:\temp\txtdata とすると、その中身は
xdata t:\temp\txtdata
のようになります。
このバッチファイルを path の通ったフォルダーに保存しておくと、コマンドから rdata をキーインするだけで実行できます。
Linux の例 Shell の名を例えば rdata で、データフォルダー名が /mnt/datadisk/txtdata とすると、その中身は
#!/bin/sh
xdata mnt/datadisk/txtdata/
のようになります。データフォルダー名の最後に / を付け加えることを忘れないでください。
このバッチファイルを path の通ったフォルダーに保存しておくと、コマンドから rdata をキーインするだけで実行できます。
サンプルプログラムに含まれるすべてのデータは、筆者が個人的に集めたものであり、信ぴょう性に問題があり、事実と異なる記述が含まれる可能性があります。
実際の使用にあたっては、ご自分の作成したデータのみで運用し、Eventmemo.txt 以外は流用しないでください。