- 締切済み
Win7で、16bitアプリを簡便に実行する方法
Win7(64)で16bitアプリ(DOSのcomファイル)を実行する方法として、XPモードを使う方法、DOSBoxを使う方法を試してみました。 起動速度や軽さについては断然DOSBoxが楽ですが、いずれの方法でも、操作が面倒です。 実行したいDOSプログラムは、パラメタで指定したテキストファイルを加工するものです。 WinXPまでは、「加工したいテキストファイルをこのDOSプログラム(のショートカット)の上にドラッグ&ドロップすれば、すぐ横に加工したテキストファイルが出来上がる」という簡単な操作で使っていました。 たとえば、「DelCR 改行コード削除フィルタ」のようなソフトです。 http://www.vector.co.jp/soft/dl/dos/util/se070696.html DOSBoxを使う場合は、 1、操作対象のファイルを16bitアプリのあるフォルダに移動する。 2、DOSBoxを起動して、16bitアプリのあるフォルダを mount する。 3、16bitアプリを実行し、そのフォルダに出力ファイルを書き出す。 4、DOSBoxを終了する 5、処理済のファイルを16bitアプリのあるフォルダから取り出す。 が必要です。 2は、autoexecを加工することで自動化できましたが、それ以外は自動化できていません。 何とか、もっと簡素な操作にならないのでしょうか? XPモーとを使う場合は、 1、XPモードを起動 2、XPの上で、16bitアプリのあるフォルダを開く 3、XPの上で、操作対象のファイルのあるフォルダを開く 4、XPの上で、操作対象のファイルを16bitアプリに乗せる 5、XPモードを終了する となりますが、操作も面倒ですが、1と5が馬鹿のように時間がかかります。 ほかの方法でもかまいません。 ちなみに、私の使いたい16bitアプリは、画面表示は不要です。 DOSが関与する部分はファイル操作だけです。 簡便にこのような16bitアプリを使う方法あったら教えてください。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- asciiz
- ベストアンサー率70% (6803/9674)
perlやrubyを勉強して、スクリプト化もしくは1行プログラムで実行するのが良い気がします… これらは正規表現で柔軟な文字列マッチングが出来るので、テキストファイルを扱うことが非常に得意なスクリプト言語です。 現在もメンテされていますから、現存するOSバージョンまで対応していますし、Windowsならばインストーラ付きのパッケージもあって、簡単にインストールできます。 ActivePerlダウンロード(無料) http://www.activestate.com/activeperl/downloads →Windows x86 もしくは x64 をダウンロード インストールしてコマンドラインから使えるようになったら、例えば改行削除なら、 C:\> perl -n -e "s/\n//g; print $_;" <入力ファイル >出力ファイル と言う感じになります。 その他、複雑な一連のテキスト処理も、いくつもフィルタを通すのではなく、1つのプログラムで様々な加工をして、出力、というようなことが出来ます。 ---- ところで、.COM ファイルは .EXE に変換可能です。 un_exe2com http://www.vector.co.jp/soft/dos/util/se003614.html ひょっとすると、.EXE に変換したらWindows7のコマンドプロンプトからも普通に実行出来るようになるかも…? (16bit時代のプログラムなので、結局「データ実行防止」等のエラーになるかもしれませんが…)
お礼
回答ありがとうございます。 un_exe2com ダウンロードしましたが、このプログラム「exe2com で変換された com ファイルを元に戻します。」とのこと、残念ながら、EXEファイルになりませんでした(涙) また、perlやrubyのご紹介ありがとうございます。 確かに、ちょっとした変換はperlやrubyはべんりですよね。適材適所で使っています。 なお今回行いたい変換は、ちょっと複雑なので、perlやrubyより、手持ちの16bitアプリのほうが適切かと思っています。 ありがとうございました。