• ベストアンサー

エスケープ シーケンスが働かない

MS-Dos用の古いプログラムですが、Windows-XPのDOS窓(と呼ぶのかな?)で実行すると、そのままエスケープシーケンス文字列が表示されてしまい、位置決めなどをしません。何かいい方法があれば、教えてください。

noname#6587
noname#6587

質問者が選んだベストアンサー

  • ベストアンサー
  • DrSumire
  • ベストアンサー率39% (264/666)
回答No.1

ANSI.SYSを読み込むようにすればOKかも WindowsXPのsystem32フォルダーの中のconfig.ntをテキストエディターで開いて最後に以下の行を追加してからDOS窓を起動してみてください。 device=%SystemRoot%\system32\ansi.sys

noname#6587
質問者

お礼

早速のご返事、ありがとうございます。 やってみます。

その他の回答 (2)

  • mi-si
  • ベストアンサー率35% (200/567)
回答No.3

%SystemRoot%\system32 の下(大体はc:\windows\system32ですが)にある、config.ntと言うファイルの最後に、 device=%SystemRoot%\ANSI.SYS dosonly を追加します。 コマンドプロンプトにはCMD.EXEでは無くCOMMAND.EXEを使います。

参考URL:
http://www.hakodate-ba.ac.jp/hp/etc_hp/mizukami/TrRoom8.htm
noname#6587
質問者

お礼

早速のご返事、ありがとうございます。 やってみます。皆様、ありがとうございました。 結果を試した後、閉めキラららさせていただきたく存じます。

回答No.2

>Windows-XPのDOS窓(と呼ぶのかな?) Windows NT/2000/XPではコマンドプロンプトと言います。 DOSとは(似ていますが)基本的に違う物です。 >そのままエスケープシーケンス文字列が表示されてしまい、 >位置決めなどをしません。 コマンドプロンプトを起動するときにANSI.SYSを読み込む 必要が有ります。 C:\Windows\system32\config.nt というファイルに、 devicehigh=%SystemRoot%\system32\ansi.sys と書き込めば良いでしょう。多分。 ただし、互換性が完全では無いらしいので、完璧に動作する かどうかは分かりません。

noname#6587
質問者

お礼

早速のご返事、ありがとうございます。 やってみます。

関連するQ&A

  • <Perl>URLエンコードみたいに、一括でエスケープシーケンスをしたい

    多くの、顔文字をCGIで表示するプログラムを作っているのですが、エスケープシーケンスだらけになって大変です。 $など出てきたときには、print<<"EOM" EOM でくくってもおかしな動作をしたり、¥¥などと出てきたときもおかしな動作になって困っています。 URLエンコードのように、何か、こう、サクット簡単に、文字を全部エスケープシーケンスに直してくれるbサイトかアプリはないでしょうかね?

    • ベストアンサー
    • Perl
  • python エスケープシーケンスについて

    エスケープシーケンスについて質問があります。 print("\¥", 100)を実行すると実行結果が \¥ 100 となります。円記号をつけたい時は\¥とするという説明がwebでも本でもあります。\をなしでやると¥が表示されます。 ¥を表示したい時は\をつけなくてもよいのでしょうか? テキストエディットとターミナル を使用しています。

  • PHPのエスケープシーケンスに関して

    PHPで文字列内で(※だぶるクオーテーションおよびシングルクオーテーション)使用するエスケープシーケンスについて、質問です。 PHPでは例えば \(※バックスラッシュ)を文字列内に含めるときバックスラッシュを二つ続けて入力して print "\\"; 上記の用に記述することになると思いいます。 ただ、上記とは違い  print "  \ "; と上記のようにバックスラッシュの前後にスペースをおいて print することでバックスラッシュをエスケープせずに出力させることができます。 本当はものすごく基本的な動作だと思うのですが、 ちょとこの動きが理解できません。 オライリー本をみてもバックスラッシュはエスケープしないといけないと 記載があります。 よろしくご教授ください。

    • ベストアンサー
    • PHP
  • 文字列中のシングルクォートにエスケープシーケンスは必要?

    C言語でダブルクォートで囲まれた文字列内で使われる、「\」で始まるエスケープシーケンスがありますよね。例えば、 「\n」 ⇒ 改行 「\t」 ⇒ タブ 「\"」 ⇒ ダブルクォート 「\\」 ⇒ バックスラッシュ などですが、C言語のリフェレンスを見ると「\'」(シングルクォート)や「\?」(クエスチョンマーク)なども載っていました。でもこれらの文字は、実際はエスケープシーケンスを使わなくても、ちゃんとコンパイルされ表示もされます。 「'」や「?」をC言語の文字列内で使うには、公式には「\」が必要なんでしょうか?

  • phpの<br>\nと\nとエスケープシーケンスについて

    現在、phpを学んでいるのですが、いきなり"<br>\n"と"\n"の違いがわからなくて困っています。\nはエスケープシーケンスで改行を意味するのですよね?<br>も改行を意味するから・・・わざわざダブルクォーテーションの中に<br>を書かなくても良いのでは・・・ と思うのですが・・・違うのでしょうか!? またエスケープシーケンスについてなのですが、 ¥を付けて表す特殊文字がエスケープシーケンスなのですね。 しかし、シングルクォーテーション内では「¥’」と「\\」だけが使える。 ダブルクォーテーション内では記述すると画面に表示されないということですが・・・。 ではエスケープシーケンスっていつ使うのですか?使い道がないような気がするのですが・・・・。 使えるのは、シングルクォーテーション内の「¥’」と「\\」だけになるのでは・・・・。 そのへんのところを教えてください。

    • ベストアンサー
    • PHP
  • PHPのエスケープシーケンスについての質問です。

    PHPのエスケープシーケンスについての質問です。 下記のコードで改行コードを<br>に置換し、結果を画面に出力しました。 $text = "あいうえお\\nかきくけこ\nさしすせそ"; $text = str_replace("\n", "<br>" , $text); echo $text; 実行結果は下記になりました。 あいうえお\\nかきくけこ さしすせそ 私の予想では、\\nが\<br>に置換され、下記になるかと思いました。 あいうえお\ かきくけこ さしすせそ なぜ\\nは\<br>に置換されず、そのままだったのでしょうか?

    • ベストアンサー
    • PHP
  • Eclipseコンソールでのエスケープシーケンス

    EclipseでJavaのプログラムを開発しておりますが、Eclipseのコンソールでエスケープシーケンスを利用した時の振る舞いがSDKのJavaコマンドで直接動作させた時と違うのは何故でしょうか? 例えば以下の"\r"の動作はJavaコマンドの方ですと現在の行に上書きされる形で表示されます。 for( int i = 0; i < 10; ++i ) { System.out.print( "\r" + i ); Thread.sleep( 100 ); } 上記のコードをEclipseのコンソールを利用すると Eclipseのコンソールでは改行されて表示されてしまいます。 Eclipseでの開発が行い易いため、Eclipseのコンソールの動作をきちんと本家に合わせる設定方法等ご存知でしたら教えて下さい。

    • ベストアンサー
    • Java
  • DOS窓の件

    久しぶりにバッチファイルを作ることになった者です。 早速ですが、XPのDOS窓ではエスケープコードの実行が上手くいかないのですが、プロパティーの変更でDOS窓中のバックの色や文字色等が変えられるようです。 その設定を「機動に使ったショートカット」に記録すれば、起動時にバックが黒以外のDOS窓が表示することが出来ました。 この機能を使い、例えば、バックが赤と青のDOS窓を起動する2種類のショートカットを作り、バッチファイルの種類ごとに使い分けられればよいと思うのですが、どのようにすれば良いか分かりません。 ご存知の方がいらしたら教えてください。

  • DOSプログラムをXP環境で動かすには?

    OSはウィンドウズXPを使用していますが、MS-DOSプログラムのインストールやプログラムの実行ができません。WinXP(Home Edition SP2)環境でDOSプログラムを動かすにはどうすればいいですか? その方法、または参考になるサイトなどご存知でしたら教えてください。

  • Vista の dos窓で漢字表示

    vista の DOS窓でDBXLのプログラムを動かすのですが XP では正常に表示されていたメニューが vista では文字化けして読めません DOS窓でプログラム中のメニューの漢字を表示するにはどうすればよいですか