プロが教える店舗&オフィスのセキュリティ対策術

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

例) abc
  def
  ghi
  jkl

  ↓

  abcdefghijkl

A 回答 (5件)

テキストファイルの改行を消したいならテキストエディタ(メモ帳やワードパッドじゃダメ)を用いて「改行を(無に)置換」すれば良い。



http://www.vector.co.jp/vpack/filearea/win/writi …
中には複数ファイルを対象にできるものもある

この回答への補足

回答ありがとうございます。
申し訳ございません。説明不足でした。

バッチファイルの中での一連の流れでこの命令文を入れたく、
できればDOSでやりたいと思っているのです。。。

補足日時:2007/06/06 23:06
    • good
    • 0

★次のツールをどうぞ。


http://www.vector.co.jp/soft/dos/net/se056785.html→『HTMLファイル用リターンコード削除プログラム』

参考URL:http://www.vector.co.jp/soft/dos/net/se056785.html
    • good
    • 0

一応「プログラミング」のカテゴリですので


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=出力文字
    • good
    • 0

改行を除去できるフィルタコマンドを探してくるか、SEDなどのストリームエディタでコントロールコードが使えるものを探すなどの方法でしょうね。



たとえば、これで改行コード(CR/LF)をnullにするとか(うまくいくかはわからん)
http://www.vector.co.jp/soft/win95/util/se038110 …

コマンドプロンプト(の方ですよね)単体では、この機能は実現不可能でしょうね。
私なら、自分でフィルタ書くと思う(それが一番早いから)。
    • good
    • 0

一部の特殊記号が含まれていると駄目ですが、大抵は下記で出来ます。



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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!