VTDOSで CygWinコマンドを 使おう

Pocket

VTDOSで CygWinコマンドを 使おう
VTDOSでCygWinコマンドを使おう

序文

はい。

最近「VTDOS」というシェアウェアを購入して、DOS環境を使ってご満悦のKaBAです。

ご覧の通りVzも快適に動きます。

VTDOSでVz
VTDOSでVz

VTDOSの公式サイトのURLは、以下の通りです。

中には、使えない16bitコマンドや、32bitコマンドもありますが、「vtd_cmd.cfg」にリストすれば、cmd.exeから32bitコマンドを実行してくれます。

今回は、このVTDOS環境で、CygWinのコマンドを実行してしまおう!という企画です。

DOS+CygWin、うまくいくと、いいですね!

=== 2020/1/22追記 ===

どうも、vtd_cmd.cfgに設定するexeファイルのリストは、cmd.exe経由で16bitソフトを起動するためのリストのようです。

CygWin系のコマンドは、32bitコマンドですので、cmd.exe経由でなくとも、普通に実行できるようです。

=== end of 2020/1/22追記 ===

それでは、行ってみましょう!

CygWinのコマンドを、vtd_cmd.cfgに設定しよう

CygWinのexeファイルの一覧を取得しよう

まずは、CygWinのexeファイルの一覧を取得します。

そこで、C:\CygWin64\bin へ移動します。

C:\CygWin64\bin
C:\CygWin64\bin

次に、「フォルダ名」のテキストボックスに「cmd」と入力しENTERキーを押下します。

「フォルダ名」のテキストボックスに「cmd」と入力しENTERキーを押下
「フォルダ名」のテキストボックスに「cmd」と入力しENTERキーを押下

これで、C:\CygWin64\binを現在のフォルダ(カレントフォルダ)として「CMD.EXE」が起動します。
そこで、ls *.exe > exe_list.txtと入力します。
これで、CygWinのexeファイルの一覧を取得できます。

なお、C:\CygWin64\binへは、事前にパスを通しておいてください。

「ls > exe_list.txt」を実行
「ls > exe_list.txt」を実行

exe_list.txt」を開いて確認してみましょう。

exe_list.txt
exe_list.txt

上記のようにexeファイルがリストされていればOKです。

「vtd_cmd.cfg」を設定しよう

次に、VTDOSでCMD.EXE経由で実行するexeファイルの一覧を設定します。

一覧は、さきほど「exe_list.txt」で得た一覧です。

まずは、「vtd_cmd.cfg」をメモ帳などで開きます。

「vtd_cmd.cfg」を開く
「vtd_cmd.cfg」を開く

「vtd_cmd.cfg」の初期状態は下図の通りです。

「vtd_cmd.cfg」の初期状態
「vtd_cmd.cfg」の初期状態

「exe_list.txt」をメモ帳で開いて、「CTRL+A」を押下し、全部選択しましょう。

「exe_list.txt」をメモ帳で開いて、「CTRL+A」を押下し、全部選択
「exe_list.txt」をメモ帳で開いて、「CTRL+A」を押下し、全部選択

そして、「exe_list.txt」の内容をコピーします。
その後、「vtd_cmd.cfg」の先頭に貼り付けます。

「vtd_cmd.cfg」の先頭に貼り付け
「vtd_cmd.cfg」の先頭に貼り付け

そして、VTDOSのAUTOEXEC.BATに、「c:\CygWin\bin」へのPATHを設定します。

VTDOSのAUTOEXEC.BATに、「c:\CygWin\bin」
VTDOSのAUTOEXEC.BATに、「c:\CygWin\bin」

これで、設定は完了です。


実際にVTDOSからCygWinのコマンドを実行してみよう

pipe.batバッチファイル

VTDOSは、現在は、まだパイプができません。

そこで、以下のようなpipe.batバッチファイルを作ります。

pipe.batバッチファイル
pipe.batバッチファイル

コードは以下の通りです。コピペされてください。

@echo off
cmd.exe /c "%1 | %2"

ls | less してみる

それでは、VTDOSで、ls | less してみましょう。

C:\> pipe ls less
VTDOSで、「ls | less」
VTDOSで、「ls | less」

普通に動くようです。

ls -l | less してみる

今度は、VTDOSで、ls -l | lessしてみましょう。

pipe.bat バッチファイルの作り上、以下のように実行する必要があります。

C:\> pipe "ls -l" less
VTDOSで、「ls -l | less」
VTDOSで、「ls -l | less」

こちらも、普通に実行できているようですね。

emacsも実行してみよう

CygWinのMinTTYではないですが、VTDOSでemacsを実行してみました。

「emacs」を実行
「emacs」を実行

ただ、キーが使えないキーがあったりして、少々使いにくいです。

まとめ

皆さん、大変お疲れ様でした。

ここまで読んで頂いて誠にありがとうございました。

今日の学びを以下にまとめます。

  • VTDOSから、32bitのCygWinのコマンドを「cmd.exe」経由で実行できる。
    そのためには、cmd.exe経由で実行するexeファイルのリストを「vtd_cmd.cfg」に書き込んでおかないといけない。
  • VTDOSでは、パイプが使えない
    苦肉の策としてcmd.exe経由でパイプを使える
  • VTDOSからemacsも実行できる。
    ただし、キーバインドは変更しないといけないかもしれない。

まだまだ、開発中のVTDOSですが、今後に大いに期待ですね!

皆さんも、ご興味があられましたら、VTDOSの公式サイトへ行ってみてください。

それではー またー (^_^)/