アプリ版:「スタンプのみでお礼する」機能のリリースについて

Win7(64)で16bitアプリ(DOSのcomファイル)を実行する方法として、XPモードを使う方法、DOSBoxを使う方法を試してみました。
起動速度や軽さについては断然DOSBoxが楽ですが、いずれの方法でも、操作が面倒です。
実行したいDOSプログラムは、パラメタで指定したテキストファイルを加工するものです。
WinXPまでは、「加工したいテキストファイルをこのDOSプログラム(のショートカット)の上にドラッグ&ドロップすれば、すぐ横に加工したテキストファイルが出来上がる」という簡単な操作で使っていました。

たとえば、「DelCR 改行コード削除フィルタ」のようなソフトです。
http://www.vector.co.jp/soft/dl/dos/util/se07069 …

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アプリを使う方法あったら教えてください。
よろしくお願いいたします。

A 回答 (1件)

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.h …

ひょっとすると、.EXE に変換したらWindows7のコマンドプロンプトからも普通に実行出来るようになるかも…?
(16bit時代のプログラムなので、結局「データ実行防止」等のエラーになるかもしれませんが…)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
un_exe2com ダウンロードしましたが、このプログラム「exe2com で変換された com ファイルを元に戻します。」とのこと、残念ながら、EXEファイルになりませんでした(涙)

また、perlやrubyのご紹介ありがとうございます。
確かに、ちょっとした変換はperlやrubyはべんりですよね。適材適所で使っています。
なお今回行いたい変換は、ちょっと複雑なので、perlやrubyより、手持ちの16bitアプリのほうが適切かと思っています。
ありがとうございました。

お礼日時:2011/11/11 22:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!