このページの本文へ

前へ 1 2 次へ

Windows Info 第439回

今更more.comを使うのか!? Windowsでのページングを考える

2024年07月10日 12時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 ページング(Paging)とは、コンソールなどで、画面の大きさに合わせて1画面分でスクロールを止め、キー入力などを使って、表示をさせるものだ。Windowsには、MS-DOS時代からのコマンドとしてmore.comがある。こうしたプログラムを「ページャー(Pager)」ともいう。

 しかし、このmore.comは、日本語表示はシフトJISしか対応しておらず、UTF-8エンコードやPowerShell標準のUnicodeエンコード(UTF-16 LE)にも対応していない。このため、渡される文字エンコードによっては文字化けしてしまう。2024年にもなって、文字化けとはなんとも情けない話だ。そこで、この問題を考えてみることにした。

ページャー

現在のWindowsにもmore.com自体は含まれているが、UTF-8の日本語テキストファイルを表示させると文字化けしてしまう

cmd.exeとmore.comの関係

 MS-DOS時代からあるmore.comは、「C:\Windows\System32\more.com」が実体である。拡張子がcomになっているが、中身は、EXE(PE)形式である。MS-DOSでは、ファイルサイズが64KB以下に限定されるが、簡易な実行ファイル形式があり、それがCOM形式と呼ばれていて、拡張子が.comだった。

 WindowsになりCOM実行ファイル形式はなくなり、そのうちCOMは、Component Object Modelのことを指すようになった。Microsoftはいつも略語を再利用する。その結果、古くからのユーザーほど混乱しやすくなるのは、なんとかしてほしいところだ。

 more.comは、そもそもcmd.exeで使うことを想定しており、日本語はシフトJISしか表示できない。しかし、cmd.exe用に作られたWindowsに付属する多くのコンソールコマンドは、大抵の場合、シフトJISしか出力しないので、これでも問題はなかったのだ。

 なお、Windowsのコンソールでは、実行ファイルの拡張子である「.exe」「.com」「.bat」は省略可能で、「more.com」は「more」で実行できる。

moreではなくlessを使う

 そんなmore.comだが、後戻りできないし、内部で検索することもできない。仕様としてはMS-DOS時代のままである。実際には、MS-DOS初期のmore.comは、ファイルパスを引数にすることができない純粋なフィルタコマンドだった。このため、typeコマンドなどと合わせてページングしていた。

 その点、現在のmore.comは、引数にファイルを指定することで、ファイル内容のページング表示ができる。この点では少しUnixのmoreに近づいた。

 UnixやLinuxでは、moreではなくlessを使うことが多い。個人の好みにもよるが、多くのユーザーがページャーにlessを指定するのが一般的だろう。

 lessは、moreという名前に「インスパイア」されて作られたコマンドである。多数のキー割当や設定項目があり、高性能なmoreとして動作する。現在Linuxで広く使われているのはGNUで開発されたlessである。

 GNU lessはオープンソースであり、Windowsにも移植されている。wingetコマンドで入手が可能だ。wingetなら安心というわけではないが、少なくともよく分からない「無料プログラム」サイトからダウンロードするよりはマシと思う。とはいえ、インストールをするのは素性を確認してからだ。Windows用のGNU lessに関しては、GitHubの「jftuga/less」(https://github.com/jftuga/less-Windows)にページがあり、リリースノートなどは「Less」(https://greenwoodsoftware.com/less/)にある。これは、

winget show jftuga.less

で得られる情報である。インストールは、

winget install jftuga.less

でできる。

 ただし、wingetで取得したパッケージには実行ファイル(less.exeとlesskey.exe)だけがある。前記のGitHubのreleaseからzipファイル(less-x64.zip)をダウンロードして、中にあるmanページ(*.manファイル)を取り出しておくといいだろう。拡張子はmanになっているが、整形されたテキストファイルになっている。

 より簡易に、WSLのmanコマンド(man less)を使う方法もある。GNU lessは、比較的アップデートが頻繁である。しかし、LinuxディとスリビューションのLTS(Long Term Support)版では、重大なバグがない限り、開発時点で選択されたバージョンのlessに止まり続ける。

 このため、WSLのUbuntuなどでもlessのバージョンが、wingetで導入したlessよりも古いバージョンになることがある。wingetでは、常に最新版のlessをインストールするからだ。

 Windowsでlessを使う場合に注意が必要なのは、文字エンコードだ。less.exeの文字エンコードは、環境変数LESSCHARSETで指定する。シフトJISの場合には、「DOS」を指定する。

 UTF-8がデフォルトの文字エンコードだが、LESSCHARSETに「utf-8」を指定することもできる。cmd.exeでも使うのであれば、環境変数の設定(「設定」→「システム」→「バージョン情報」→「システムの詳細設定」)で「DOS」を指定しておき、PowerShellのプロファイルで「utf-8」を指定する。

 lessは、設定や起動オプションでさまざまな機能を利用できる。「--help」で簡易なオプションを表示でき、「man less」をインターネット検索すると、日本語man pageなどが見つかる。

 行番号の表示(-Nオプション)や、表示対象が画面サイズ以下だった場合にページングしないで終了(-Fオプション)、UNIXのmoreのような詳しいプロンプト(-mオプション)などを指定すると便利。環境変数LESSで指定しておくことも可能だ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
2
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥660
3
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
¥18,980
4
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
5
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
6
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
¥1,780
7
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
8
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥1,880
9
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590
10
Kindle Paperwhite シグニチャーエディション (32GB) 7インチディスプレイ、明るさ自動調整、色調調節ライト、12週間持続バッテリー、広告なし、メタリックブラック
Kindle Paperwhite シグニチャーエディション (32GB) 7インチディスプレイ、明るさ自動調整、色調調節ライト、12週間持続バッテリー、広告なし、メタリックブラック
¥23,980

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン