• ベストアンサー

DOSでテキストファイルの中のある文字だけを消すコマンドはありますか?

hiroaki101の回答

回答No.3

こんにちは。Windowsのコマンドプロンプトで使用できるプログラムが下記のURLで紹介されています。普段Linuxをお使いでしたら、このほうが使い勝手が良いかもしれません。 http://experiment.blog.so-net.ne.jp/2009-02-03 http://unxutils.sourceforge.net/ 上記"GNU utilities for Win32"のtrを使うなら、例えば変更対象がC:\textsフォルダ内にあるtxtという拡張子が付いたファイル全てだとして、 C:\texts> mkdir after C:\texts> for f in (*.txt) do @tr -d "P" < %f > after\%f などと実行すれば、各ファイルから全ての"P"が削除された状態でafterフォルダの中に元のファイル名で保存されます。念のため、元ファイル群は結果を確認されるまで削除しない方がいいと思います。 また、「DOS(=コマンドプロンプト)」プログラムではない、GUIのフリーソフトが以下のURLで紹介されています。置換後の文字列を""(空文字列)にしておけば、その文字が削除されると思います。 http://www.vector.co.jp/vpack/browse/pickup/pw6/pw006315.html http://www.vector.co.jp/vpack/browse/pickup/pw5/pw005577.html http://www.vector.co.jp/magazine/softnews/060905/n0609051.html http://www.forest.impress.co.jp/article/2008/05/08/replaceondotnet.html 他にも色々公開されているようです。"文字列 削除 Windows フリーソフト"などとインターネット検索すればもっと出てくるでしょう。 http://www.vector.co.jp/vpack/filearea/win/util/text/

rabitwo
質問者

お礼

親切なご回答ありがとうございます。 "GNU tilities for Win32"をとても使いたかったのですが、リンクで入れなかったり、検索してもどこでもダウンロードできるところがなかったりでダメでした(涙) ご紹介のフリーソフトの中からGUIでやりたいことができるものが見つかり、それを使ってフォルダ内に処理したいものを入れて一括で処理できました。 でも、本当はやっぱりコマンドで処理したり、バッチファイルを書いてやりたかったです。 こんなふうなコマンドでの操作にあこがれます。 C:\texts> mkdir after C:\texts> for f in (*.txt) do @tr -d "P" < %f > after\%f c:\textsディレクトリをカレントディレクトリとして、そこにafterディレクトリを作って、for f in (*.txt) do @ はよく分からないですが、tr -d "P" でPを消して、その対象となるデータは%f(これはなんでしょう)から入力して、出力は afterディレクトリにある%fへ。くらいしか今は理解できないレベルです(汗)

関連するQ&A

  • テキストファイル結合のバッチコマンド

    DOSプロンプトで、「copy」というコマンドを使って特定のフォルダ内のテキストファイルを全て読み込んで結合するバッチファイルを作りたいのですが、わかる方教えてください。

  • DOSプロンプトのコマンドが動作しません。教えてください。

    DOSプロンプトのコマンドが動作しません。教えてください。 o.5975247の続きの者ですが、DOSプロンプトからあらゆる種類のコマンドが使えない状態になっています(自分自身で知っている限りのDOSコマンドを打ちこんでみた)。 DOSコマンドを入力した結果は、以下のような表示が出ます。 `コマンド名`は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されていません。 何とか対応の仕方をアドバイス願います。

  • DOSプロンプトでコマンドが動作しない

    batファイルを作るためにとりあえずwindows端末のDOSプロンプト を立ち上げ、コマンドをたたいてみようとしています 端末はwindows7なのですが、DOSプロンプトに対して openコマンドをたたいたら 'open'は内部コマンドまたは外部コマンド、操作可能なプログラム またはバッチファイルとして認識されていません とのメッセージがでます Webで調べるとパスが通ってない?とのことのようですが このopenコマンドがwindows7のどこにあるか あるいはそれがわかった時、どこにどのように記載したらいいか 等、記載のサイトとか方法について教えていただけないでしようか よろしくお願いします。

  • DOSのコマンドでLinuxのwgetみたいなコマンドありますか?

    コマンドプロンプトで、右クリック→対象をファイルに保存 みたいなコマンドありますか? Linuxでしたら、wgetでしょうか? そんなコマンドがDOSプロンプトのコマンドでもし あれば、教えてくださいませ。

  • ファイルを作成するDOSコマンドって?

    DOSでテキストファイルを作成するコマンドは存在するのでしょうか? (UNIX環境でいうと、touchみたいなものです) ディレクトリを作成するコマンドはmkdirなんですが、ファイルを作成する コマンドって載ってないんですよ。。 DOSプロンプトから、helpで確認したんですが載ってなかったです。 helpに載ってないということは使用できない(存在しない) ということなのでしょうか? ■環境 Windows2000 Professional 回答宜しくお願いします。

  • 連番のファイルをDOSコマンドで

    DOSコマンドを利用し、バッチ処理でタスクスケジューラーにて、定期的に、テキストファイルへリダイレクトするのですが、ファイルネームを連番で生成してくれる、コマンド(構文?)をご教授下さい。 例:ipconfig >***.txt (***の部分を連番)

  • コマンドプロンプトのバッチファイルでテキストファイル内の文字列を抜き出したい

    コマンドプロンプトのバッチファイルでテキストファイル内の文字列から何文字か抜き出すにはどうすればよいですか? たとえば,abcde****** のようにその行の最後から6文字目までとか。

  • DOSのRENコマンドを教えてください

    WindowsXPのDOSプロンプトでRENコマンドを使った名前の変更に手こずっています d:\tmpディレクトリに 無題01.bmp ~ 無題80.bmp と80個のファイルがある場合、RENコマンドとワイルドカードを 使って一括変換したいのですがうまくいきません ren 無題*.bmp 借金*.bmp と入力しても全部のファイルが変換されません 同じようにRENコマンドで 01.bmp ~ 80.bmp とファイルがある場合、ファイルの先頭や後方に借金と一括で変換したいのですが こちらもうまくいきません 借金01.bmp や 01借金.bmp といったようにファイル名を一括で変更したいのです 何卒ご教授方御願い致します

  • コマンドプロンプトからファイル実行について

    コマンドプロンプト初心者です。 説明が下手で申し訳ありませんが、コマンドプロンプトを起動し、C:\Program Filesから辿ってファイルを実行させようとすると、 C:\Programは、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と表示され、できなくて困っております。 パスがないのかなと思い、試行錯誤してみましたがダメでした。 あとDOS窓はコマンドプロンプトのことですよね?

  • DOS上でテキストファイルを編集するには?

    こんばんは。 タイトルどおりですが、テキストファイルををDOSコマンド上で編集することは出来ないでしょうか? そのテキストファイルは数百個あるので、DOS処理で出来ると便利かと思いまして。 ファイルの25行目に追記をするということを数百ファイルすべてに同じ処理をする、ということがしたいのです。 具体的には、 AAAAAAAAA BBBBBBBBB   ・   ・   ・ SSSSSSSSS TTTTTTTTT           ←ここに『UUUUUUUU』を追記したい VVVVVVVVV WWWWWWWWW   ・   ・   ・ です。 どうかご返信よろしくお願いいたします。