• 締切済み

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

みんなの回答

  • asciiz
  • ベストアンサー率70% (6621/9384)
回答No.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.html ひょっとすると、.EXE に変換したらWindows7のコマンドプロンプトからも普通に実行出来るようになるかも…? (16bit時代のプログラムなので、結局「データ実行防止」等のエラーになるかもしれませんが…)

usatan2
質問者

お礼

回答ありがとうございます。 un_exe2com ダウンロードしましたが、このプログラム「exe2com で変換された com ファイルを元に戻します。」とのこと、残念ながら、EXEファイルになりませんでした(涙) また、perlやrubyのご紹介ありがとうございます。 確かに、ちょっとした変換はperlやrubyはべんりですよね。適材適所で使っています。 なお今回行いたい変換は、ちょっと複雑なので、perlやrubyより、手持ちの16bitアプリのほうが適切かと思っています。 ありがとうございました。

関連するQ&A

  • 32bitアプリから64bitアプリのコマンドを実行する方法

    VC++6.0でWin32アプリを開発中ですが、 64bitOS(WindowsXPx64,Windows Vista x64)でCreateProcess()やShellExecute() などを使用してコマンドを実行したいのですが、その時に64bitモードでそのコマンドを 実行する必要があります何か方法はないでしょうか?  32bit用のアプリから64bitモードとしてコマンド実行することが目的です。   CreateProcessなどとは別の方法でも構いません。 よろしくお願い致します。

  • (Win7)64Bit版で動かない32Bitアプリ

    現在WinXPHomeSP3を使用しています。 主な使用目的はネットブラウズ、年賀状製作、音楽製作、文書製作などです。ゲームとかグラフィックとか、動画編集やTV視聴といった事はやりません。 Win7HomePremiumのPCへ乗り換え検討中ですが、32Bitにするか64Bitにするか悩んでいます。 私はあまり頻繁にPCを乗り換えないので5~7年くらい使用したいと考えています。 (現在のXPは2001年にXPが発売されたその日に買ったので、もう9年使ったことになります) 従って、その間ハードウェア的には通用するよう、CPU、メモリは予算が許す限り最大・最高にしたいと思っています。 問題はアプリです。Win7HomePremiumではXPモードがないんで、XPのアプリをじかに載せることになりますが、動くかどうか心配しています。 そこで質問です。長期間持つように最高の性能を追及して64Bit版のOSにしたいのですが、その場合どんなXPの32Bitアプリが動作しないでしょうか? 皆様の知識と経験で、「このアプリは(あるいはこういう種類のアプリは)動かないよ」という情報をお教えください。 もし、私のやりたいと考えている事が64Bit版でできない可能性があれば、32Bit版を検討したいと思います。よろしくお願いします。

  • MacOSX10.6.6での32bitアプリ起動

    Mac OS X10.6.6にupdateしたところ、32bitアプリが起動しなくなりました。しかし、Macの起動を32bitに設定するとエラーが出て自動的に電源が切れます。どうしたら32bitアプリが起動するのでしょうか。お願いします。 OSは現状64bitモードで起動しています。FirefoxやupdateしたばかりのiTunesも「予期しないエラーにより起動できません」というメッセージが表示されます。「このMacについて」を開いて、詳細を表示させ、「アプリケーション」を選択し、64bit覧が「いいえ」となっているアプリは全滅です。 一方、OSを32bitモードで起動させれば32bitアプリも起動するため、OSを32bitモードで起動させると、fsckでエラーが出てシャットダウンします。 どうやら、起動ドライブがread onlyになっていて、キャッシュのクリアが出来ずエラーとなってしまうようです。 32bitのシングルユーザーモードで起動して上記のエラーが出たところで、読み書き可能のオプションを付けて起動ディスクをマウントしてやると何もなかったかのように起動します。 これらの結果から、 1.OSを32bitで起動できるようにする 2.OSは64bitのままで、32bitアプリを起動できるようにする のどちらかができれば問題が解決しそうなのですが、現時点での私の知識では限界です。 ご存じの方がいらっしゃれば、御教示頂きますようお願いします。

    • ベストアンサー
    • Mac
  • Win98のアプリがXPで実行できない。

    WIN98で使用していたアプリケーションをXPに乗せ変えて実行しようとすると次のような実行エラーがでます。もうこのアプリはXPでは使えないんでしょうか教えてください。 ”○○を実行するのに必要なライブラリファイルの1つがWin32.DLLであるため16ビットWindowaサブシステムにロード出来ません。”

  • XPでDOSアプリの画面をワードに貼り付けたい

    OSを2000からXPに変えたら、DOSアプリの画面をPrntScrでWordに貼り付けられなくなりました。 そのDOSアプリは、起動すると全画面表示で動作するため、Windows2000を使っていた時はPtrScrキーを押してから、Alt+Enterで通常のウインドウ表示に戻し、Wordに貼り付けることができました。 XPの場合は、Alt+EnterでDOSアプリはアイコンになってタスクバーに入ってしまい、Wordに貼り付けてもビットマップではなく、アプリ起動時のテキストしか貼り付きません。また、アプリを起動するバッチファイルのプロパティで互換性をいろいろ変えても同じ症状です。 デュアルブートやVirtualPCを使わない方法でビットマップを貼り付けるには、どうしたらよいのでしょうか?

  • 実行中のアプリについて

    Androidのスマートフォンなのですが、実行中のサービスの項目について質問があります。 実行中のサービスにたどり着くには、二つの方法があると思いますが、 *1設定→アプリケーション→実行中のサービス *2設定→アプリケーション→アプリケーションの管理→実行中 となりますが、二つを見比べると*2には*1にないアプリがあり、なおかつ同じ起動中のアプリでも、 容量が全然違います。 なぜ違うのでしょうか。違いは何でしょうか? 稼働している電池をいっぱい食うアプリを見るためには、どっちを見たらいんでしょうか? そして、どっちから起動を停止した方がよいのでしょうか? へんな質問ですみません。 よろしくお願いいたします。。

  • Win 2000/XPで MS-DOSは使えるか?

    現在使用しているWin98ではMS-DOSで起動させたり、或いはWindowsモード上でDOSアプリを使ったりする機能があるのですが、Win2000やXPでは同様のことは出来るでしょうか。最初から付いていなくとも、別売のMS-DOSをインストールする、またはパーティションを切って98を入れるのでもよいのですが。 アップグレードを考えているものの、一つDOSで動かすアプリがありますので。

  • 64bit対応ATOK

    現在64bitWin7で32bitのATOK7を使っています。32bitのx86アプリを使う際はATOKが対応しますが、64bitアプリやシステム関係のエクスプローラなどではATOKが有効にならず、やむを得ずIMEに切り替えて日本語入力しています。特にファイル名やフォルダ名を書き込むのに大変不便を感じています。 最新のATOK2012を使ったら、32bit、64bitのどちらのアプリにも対応していて、切り替え操作無しに使えるのでしょうか?

  • DOSにコマンドを送って実行

    DOSモードでしか実行できないソフトがあるんですが、 VBからそのソフトをDOSで実行し、コマンドを送って、結果を得られるようにしたいのですが。 それと、DOSで実行している過程は表示されないようにしたいです。 そのソフトの使用方法は起動してコマンドを入力するだけで結果が出てきます。 どなたかご存知の方がいらっしゃいましたら宜しくお願い致します。

  • exeが実行されなくなりました

    フォルダオプションのファイルの種類で、誤って新規にexeを登録したところ、exeファイルをクリックするとテキストエディタが起動して内容が表示され、実行することができなくなってしまいました。システムの復元も同様で実行できません。元に戻す方法をご教授ください。