• 締切済み

DOSプロンプトの質問

DOSプロンプトについて質問です。 Windows2000を使用しています。 とあるテキストファイル内の改行全てを削除したいのですが、 そういったことが出来るコマンドはないでしょうか? 調べていくと、for文がそれに近いことが出来るのではないかと思ったのですが、 for文の構成を理解できず、行き詰まってます。。。 例) abc   def   ghi   jkl   ↓   abcdefghijkl

みんなの回答

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

一部の特殊記号が含まれていると駄目ですが、大抵は下記で出来ます。 set TEXT= for /f "delims=" %%A in (filename.txt) do call :sub "%%A" >filename.out echo %TEXT% goto :eof :sub set TEXT=%TEXT%%~1 goto :eof ただし、変数に詰め込むことになるので、長さの上限があるかもしれません。 途中だけでなく最後の改行も取るなら、 >filename.out echo %TEXT% を >filename.out set /p =%TEXT%<NUL に

  • ultraCS
  • ベストアンサー率44% (3956/8947)
回答No.4

改行を除去できるフィルタコマンドを探してくるか、SEDなどのストリームエディタでコントロールコードが使えるものを探すなどの方法でしょうね。 たとえば、これで改行コード(CR/LF)をnullにするとか(うまくいくかはわからん) http://www.vector.co.jp/soft/win95/util/se038110.html コマンドプロンプト(の方ですよね)単体では、この機能は実現不可能でしょうね。 私なら、自分でフィルタ書くと思う(それが一番早いから)。

noname#50176
noname#50176
回答No.3

一応「プログラミング」のカテゴリですので Cバージョンのサンプルです。 //moji=入力文字 for (unsigned int i=0,p=0,s=strlen(moji)+1;i<s;p++) if (moji[i]==0xd && moji[i+1]==0xa) moji[p]=moji[i+2],i+=3; else {if (p-i) moji[p]=moji[i];i++;} //moji=出力文字

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★次のツールをどうぞ。 ・http://www.vector.co.jp/soft/dos/net/se056785.html→『HTMLファイル用リターンコード削除プログラム』

参考URL:
http://www.vector.co.jp/soft/dos/net/se056785.html
noname#39970
noname#39970
回答No.1

テキストファイルの改行を消したいならテキストエディタ(メモ帳やワードパッドじゃダメ)を用いて「改行を(無に)置換」すれば良い。 http://www.vector.co.jp/vpack/filearea/win/writing/edit/ 中には複数ファイルを対象にできるものもある

eich-eye
質問者

補足

回答ありがとうございます。 申し訳ございません。説明不足でした。 バッチファイルの中での一連の流れでこの命令文を入れたく、 できればDOSでやりたいと思っているのです。。。

関連するQ&A