• 締切済み

MS-DOS で、 文字「 = 」 は特殊な意味?

MS-DOS で、 「 = 」 の文字は通常の文字ではなく、制御文字 か何か、特殊な意味を持ちますか? と言うのは、 ファイル名に 「 = 」 の文字は許されるので、 「 A=B.TXT 」 という ファイル名は許され、ファイルを作成しました。 それで、 DOSプロンプトで COPY "A=B.TXT" C.TXT や TYPE "A=B.TXT" はいいのですが、 次は実行できません。 COPY A=B.TXT C.TXT また TYPE A=B.TXT これも実行されません。 「 = 」 はどんな意味になりますか?

みんなの回答

  • mimazoku_2
  • ベストアンサー率20% (1908/9135)
回答No.3

「=」意味は代入ですね。 右辺の中身を左辺に入れよ。の命令。 これが良くて=>COPY "A=B.TXT" C.TXT や TYPE "A=B.TXT" これがダメ=>COPY A=B.TXT C.TXT 理由は、「”(ダブルクォーテーション)」にて、ファイル名を限定しているかどうか。 これがダメなのは、COPY A=B.TXT C.TXT A=Bが代入命令として、システムが解釈したため。 逆に「_(アンダーバー)」には、そんな深い意味がないので、通じるよ。

回答No.2

「=」自体に意味はありません。 DOSの世界では、「=」に限らず「!」や「 」(空白)等の特殊文字がファイル名に使えるようになったのは、ごく最近の事です。 その為、ファイル名なのか、SET等の内部コマンドの一部であるかをDOSが区別する為に、「特殊文字をファイル名に使用する場合はダブルクオーテーションで括る」という決まりが出来たのです。

回答No.1

  DOSに限らず「=」は代入を意味します SET TMP=C:\temp tempフォルダーを環境変数としてのTMPに代入する  

ikibou
質問者

補足

> 「=」は代入を意味します とのことですが、次の例では、 SET と = で 代入せよ、ということですよね? SET TMP=C:\temp もし、 TMP=C:\temp だけならどうなりますか?

関連するQ&A

専門家に質問してみよう