• ベストアンサー

MS-DOSについて

会社で次のことについて調べるようにいわれて困っております。 ご存じの方がいらっしゃいましたら是非教えて下さい。 質問事項は以下についてです。 MS-DOSプロンプトで、 例えば 「dir /w」というコマンドを入れようと思い 間違って「sir /w」等とコマンドを入れてしまい 間違いに気が付いたとき(「d」と「s」)、←キーで戻りたくても wから順に消えてしまいます。 バックスペースを押しているわけではないのに そうなってしまうのはなぜなのでしょうか。 ご回答のほう、是非よろしくお願いします。

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

  • ベストアンサー
  • KojiS
  • ベストアンサー率46% (145/312)
回答No.9

> これは画面表示上の問題とのことですが > そのことについてもう少しご説明いただけないでしょうか。 > バッファと、この際の画面表示とはどういった関係があるのでしょうか? > バッファとはコマンドを入力するための領域です。command.comはコマンドを読み込むための領域を持っています。 表示上の問題としてはただ単に command.comがコマンドラインを編集するための機能を持っていないということです。コマンドラインで入力された文字列を内部バッファに持ち、それを解析して実行するのが command.comの仕事ですが、command.comは現在入力中の文字列のバッファを持っていません。直前の[ENTER]キーを押されて実行した文字列しか憶えていません。つまり、現在入力中の文字列の編集はできないということです。編集するには、入力中の文字列バッファを持って、現在のカーソルの位置を憶えていて、という処理が必要になるのですが、command.comはそういう機能を持っていないというのが仕様上の制約ということです。 この説明をアセンブラで絡めて答えるのはちょっと無理がありますね。 そうそう、当方で確認したところ、普通にインストールしたWinMEは消えませんね。

masahiro_chi
質問者

お礼

そうなんですか。 command.comのことが私にも少し分かりました。 自分の中でもう一度解釈してみたいと思います。 本当に有り難うございました。

すると、全ての回答が全文表示されます。

その他の回答 (8)

  • KojiS
  • ベストアンサー率46% (145/312)
回答No.8

すいません。コメントわかりにくかったですね。 command.comの仕様に関してというのは、完全に(command.comの)プログラム上の問題という意味で書き、「内部でこういうことをしているからそうなるのだ」ということを「質問」をおっしゃった方が回答として求めている場合のことですので、「質問」をおっしゃった方がどの程度の回答を求められているのかな?ということが書きたかったまでです。 「アセンブラがどう」というヒントに関して、 1.command.comの内部動作(エディットバッファ等)に関しての説明を求めている 2.ヒントをくださった方が勘違いしている という事が考えられましたので。 1の場合は画面表示上の問題で、2の場合は「アセンブラがどう」というのは忘れることです。 どちらにしろ、command.comの仕様だということです。 ちなみに、WindowsNT/2000の cmd.exeの場合は、消えません。

masahiro_chi
質問者

お礼

ご丁寧なご回答、重ねて有り難うございます。 さすが専門の方ですね。 自分が聞きたいこともあやふやでしたが、 おかげさまで少しずつ分かってきました。 私に求められているものは 「1.のcommand.comの内部動作(エディットバッファ等)に関しての説明」 だと思います。 これは画面表示上の問題とのことですが そのことについてもう少しご説明いただけないでしょうか。 バッファと、この際の画面表示とはどういった関係があるのでしょうか? 御手数で申し訳ないのですが再度よろしくお願いいたします。

すると、全ての回答が全文表示されます。
  • KojiS
  • ベストアンサー率46% (145/312)
回答No.7

回答自体は他の方が回答されていますので、補足に関して。 「アセンブラがどう」というのは、技術的なこと(command.comの仕様に関して等)を言っているか、間違っているかのどちらかでしょう。

masahiro_chi
質問者

お礼

ご回答有り難うございます。 勉強不足で誠に恐縮なのですが 技術的なこと(command.comの仕様に関して等)について まったく分からないものですから何から勉強したらよいのか (どのようなものを読んだらいいのかなど)教えていただけないでしょうか。 またcommand.comの仕様とはどういったことなのでしょうか? 重ね重ね申し訳ないのですがよろしくお願いします。

すると、全ての回答が全文表示されます。
  • ikeuchi
  • ベストアンサー率28% (91/314)
回答No.6

仕様は仕様ですが、 最初に「doskey」コマンドを実行してください。 これで使いやすくなります。 パラメータ不要です。 上下矢印でコマンドの履歴参照(再入力など)も可能になります。

masahiro_chi
質問者

お礼

早速のご回答有り難うございます。 質問事項のヒントとして与えられたこととしまして アセンブラがどうのとかいわれていたのですが・・・。 もしそのあたりとの関わり等もご存じでしたら 教えていただけるようお願いいたします。

すると、全ての回答が全文表示されます。
  • DrSumire
  • ベストアンサー率39% (264/666)
回答No.5

MS-DOSプロンプトで、DOSKEYを実行しておけばカーソルで修正したい個所まで移動できます。 自動的に組み込みたいのであれば、MS-DOSプロンプトのショートカットのプロパティのバッチファイルの所にDOSKEYを記述しておけばOKです。 もしくは余りスマートでないですが、AUTOEXEC.BATの最後にDOSKEYを記述しておいても大丈夫。 DOSKEYは↑↓で入力履歴をおえる機能もあるので結構便利です。

masahiro_chi
質問者

お礼

早速のご回答有り難うございます。 質問事項のヒントとして与えられたこととしまして アセンブラがどうのとかいわれていたのですが・・・。 もしそのあたりとの関わり等もご存じでしたら 教えていただけるようお願いいたします。

すると、全ての回答が全文表示されます。
  • atsushi_k
  • ベストアンサー率47% (198/415)
回答No.4

←キーで文字が消去されるのはDOSの仕様ですが DOSを立ち上げた時に「DOSKEY」を入力して おけば←キーでの文字消去機能は解除されますヨ。 DOS専用機ならautoexc.batの最後の 行に行追加でDOSKEYコマンドを入れておけば DOSが立ち上がる度に機能解除してくれます。

masahiro_chi
質問者

お礼

早速のご回答有り難うございます。 質問事項のヒントとして与えられたこととしまして アセンブラがどうのとかいわれていたのですが・・・。 もしそのあたりとの関わり等もご存じでしたら 教えていただけるようお願いいたします。

すると、全ての回答が全文表示されます。
  • hequil
  • ベストアンサー率65% (242/372)
回答No.3

madmanさんが答えられているように、MS-DOSの仕様だと思います。 こういうタイプミスの場合、 >sir /w コマンドまたはファイル名が違います >d [F3]キーを押す >dir /w ということができます。 同様に[F1]キーで直前のコマンドを1文字ずつ入力 [INS]または[Insert]キーで挿入などが出来ます。 参考まで

masahiro_chi
質問者

お礼

早速のご回答有り難うございます。 質問事項のヒントとして与えられたこととしまして アセンブラがどうのとかいわれていたのですが・・・。 もしそのあたりとの関わり等もご存じでしたら 教えていただけるようお願いいたします。

すると、全ての回答が全文表示されます。
  • blue_leo
  • ベストアンサー率22% (541/2399)
回答No.2

UNIXに習ってそうした、という理由もあるかも知れません。 まぁDOS使っていてもプロンプトから直接コマンドを入力するってことは 稀でしたけどね。

masahiro_chi
質問者

お礼

早速のご回答有り難うございます。 質問事項のヒントとして与えられたこととしまして アセンブラがどうのとかいわれていたのですが・・・。 もしそのあたりとの関わり等もご存じでしたら 教えていただけるようお願いいたします。

すると、全ての回答が全文表示されます。
  • madman
  • ベストアンサー率24% (612/2465)
回答No.1

DOSはフリーカーソルではないので、途中の1文字だけ消すような事は出来ないと思います。 カーソルキーで消えるのは仕様じゃないですか?

masahiro_chi
質問者

お礼

早速のご回答有り難うございます。 質問事項のヒントとして与えられたこととしまして アセンブラがどうのとかいわれていたのですが・・・。 もしそのあたりとの関わり等もご存じでしたら 教えていただけるようお願いいたします。

すると、全ての回答が全文表示されます。

関連するQ&A