• ベストアンサー

改行コードについて vbNewLine

windows2000,xpで以下のコマンドをリダイレクトして、 result.txtをバイナリエディタで開くと、コードが異なるのですが何故なのでしょうか? windows2000で行うと、0d0d0aとなり、xpで行うと、0d0aとなります。 いったいどうしてなのでしょうか?? sample.bat cscript //nologo sample.vbs >result.txt sample.vbs WScript.Echo vbNewLine

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

  • ベストアンサー
  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.1

私のWindows 2000 Pro, XP Proではresult.txtの中身はどちらも0d0a0d0aになりました。 VBScriptのvbNewLineはプラットフォームで変わるようですので、どこかで定義されているのかもしれないですね。そこが書き換わっているとか。 Visual Basic Scripting Edition 文字列の定数 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/vsconstring.asp 上のドキュメントによればVbCrLfだとChr(13)、Chr(10)で固定になるようです。

xyz12345
質問者

お礼

わざわざ試して頂きありがとうございます。 なるほど。 その可能性も十分あります。。 原因がわからないため、VBScriptでvbNewLine,vbCrLfを 使うのはやめました。 改行したい分だけ「WScript.Echo」を書くことにしました。 「WScript.Echo」だけでしたら、「0d」付いてこないので・・ まぁ、コードとしては見栄えがよくないのですが・・・ もうちょっと調べてみます....

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

vbNewLine をスペルミスしていると、WScript.Echo vbNewlain とかは 0d0a になりますね。

xyz12345
質問者

お礼

どうもありがとうございます。 スペル間違いも確認してみましたが、、 わかりませんでした。 ただ、マシン自体ちょっとおかしな動きしている状態もあるので、 バージョンとかの可能性もありますね・・・。