• 締切済み

DOSプロンプトの質問

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

みんなの回答

  • notnot
  • ベストアンサー率47% (4846/10257)
回答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

  • dosでサイズを比較して異なるファイルだけコピー

    dosで全フォルダ内のファイルサイズを比較して異なるファイルだけコピーしたい 次のようなファイル構成で AAAフィルダ    BBBフォルダ  cccフォルダ    cccフォルダ   abc.txt      abc.txt   def.jpg      def.jpg  dddフォルダ    dddフォルダ   ghi.txt      ghi.txt   jkl.jpg      jkl.jpg AAA\ccc\abc.txtとBBB\ccc\abc.txt AAA\ccc\def.jpgとBBB\ccc\def.jpg AAA\ddd\ghi.txtとBBB\ddd\ghi.txt AAA\ddd\jkl.jpgとBBB\ddd\jkl.jpg 拡張子は問わずそれぞれに対するファイルのファイルサイズを比較して 大きくても小さくても異なるファイルだけbbbフォルダ内に上書きコピー したくご教授をお願いします

  • DOSプロンプト:for文のdelims指定でブランクを除外できますか?

    DOSプロンプトのfor文のdelims指定でブランクがデフォルトで指定されていると思いますが、ブランクを除外する方法はありますか? 具体的には、以下のテキスト内容の3行をブランクも含めて正確に取得したいです。 テキスト内容: abc def a b c ab cd ef gh

  • エクセルで,スペースのある文字列を列ごとに分けるには?

    例えば abc def ghi jkl mno pqr という文章があったとします。 それを |abc|def|ghi| ------------- |jkl|mno|pqr| みたく,スペースのあるところで区切るにはどのようにすればよいでしょうか。教えてください。

  • dosコマンドプロンプト %0の扱いですが、

    dosコマンドプロンプト %0の扱いですが、 この度dosのbatファイルを作成しましたが、 abc.batのようなファイル名で、 %0を使うと、「abc.bat」と全てが参照されてしまいます。 「abc」のみを取り込みたい(.batを落としたい)のですが、 どう書けば宜しいのでしょうか。 宜しくお願いします。

  • PHP 配列について

    PHPで簡単なプログラムを作っています。 上手い方法があれば教えてください。 例えば $arr = array(); $arr(0) = "ABC"; $arr(1) = "DEF"; $arr(2) = "GHI"; $arr(3) = "JKL"; $arr(4) = "MNO"; この様な配列があり、これを以下の様に「特定のデータを削除し空いているキーを詰めたい」場合どうしたら良いのでしょうか? この場合は"DEF"を削除。 $arr(0) = "ABC"; $arr(1) = "GHI"; $arr(2) = "JKL"; $arr(3) = "MNO"; アドバイスお願いします。

    • ベストアンサー
    • PHP
  • excelでデータの位置を変えたい

    abcdefghijklmn~と続いているものを abc def ghi jklと変えることはできるでしょうか? よろしくお願いします

  • excelの重複データの削除方法。

    excel2003で重複する値を自動的に削除する方法を探しています。 現在、以下のような手順で作業をしています。     A   B   C 1 ○○○ 100 ABC 2 ▼▼▼ 200 DEF 3 ◇◇◇ 300 GHI 4 ■■■ 400 JKL 5 △△△ 500 MNO ↑の元データに      A   B   C 1 ○○● 100 ABC 2 ◇◆◇ 300 GHI ↑のデータを追加(貼り付け)して並び替えをすると      A   B   C 1 ○○○ 100 ABC 2 ○○● 100 ABC 3 ▼▼▼ 200 DEF 4 ◇◇◇ 300 GHI 5 ◇◆◇ 300 GHI 6 ■■■ 400 JKL 7 △△△ 500 MNO というデータが出来るとします。 「C列の値を基準」として、重複している箇所を検出・削除し (上の例で言えば、1・2・4・5の行。)      A   B   C 1 ▼▼▼ 200 DEF 2 ■■■ 400 JKL 3 △△△ 500 MNO というデータにしたいと考えております。 重複した値のどちらか一方を残す、という方法ではなく、 重複した値の全てを削除する、という方法が解りません。 手作業で1つ1つ削除していけばいいのですが、本物のデータは何千件とあるので 手作業では時間が掛かりすぎてしまいますので…。なにかよい方法はないでしょうか? 簡単な方法であれば大変助かりますが、マクロなどを使用する方法でもかまいませんのでご教授下さい。 よろしくお願い致します。

  • C言語 比較抽出

    C言語 コンソール VC6.0で悩んでいます。 ABC.com ABC.com DEF.co.jp GHI.go.jp DEF.co.jp DEF.co.jp JKL.com JKL.com ABC.com 上記のようなデータがsData[i]にあり、 ABC.com  3回 DEF.co.jp  3回 GHI.go.jp  1回 JKL.com  2回 のように画面に出力したいのですが、表示も処理も一緒だとややこしいので 表示は後回しにして、一度sHost[i]とiNum[i]に格納しようと考えています。 strcmpでの比較をwhileやforで多重ループで回すくらいしか思い付きません。 何か案だけでもいただけないでしょうか。お願いします。

  • エクセルで元データを残しながらコピー

    エクセル2007で複数の行にまたがってある複数のデータを楽に一つの行にまとめたい。 例 A1 abc B2 def A3 ghi C4 jkl 以下省略 このB行とC行をA行に全てまとめて移動したいのですがどのようにすればいいでしょうか。 したいこと A1 abc A2 def A3 ghi A4 jkl 以下略

  • 秀丸の検索・置換の正規表現の最短一致の挙動が変です

    秀丸の検索または置換の正規表現の 最短一致での挙動ですが、 /abc/def/ghi/jkl/mno/pqr/st/uvw.xyz の先頭にカーソルを置いた状態で、 (質問1) 正規表現のチェックボックスをチェックして /.*$ で検索すると /abc/def/ghi/jkl/mno/pqr/st/uvw.xyz が検索されると思うのですが 実際には /def/ghi/jkl/mno/pqr/st/uvw.xyz が検索されてしまいます。 なぜでしょうか。 (/abc/.*$とするとカーソルがある /abc/def/ghi/jkl/mno/pqr/st/uvw.xyz ではなく次の行以降の /abc/def/ghi/jkl/mno/pqr/st/uvw.xyz が検索されてしまいます?) (質問2) 正規表現のチェックボックスをチェックして /.*?$ で検索すると最短一致となるため /uvw.xyz が検索されると思うのですが 実際には /def/ghi/jkl/mno/pqr/st/uvw.xyz が検索されてしまいます。 なぜでしょうか。 (なお、/[^/]*$では/uvw.xyzが検索されます)

専門家に質問してみよう