• 締切済み

MS-DOSコマンドでファイル名を一気に変換の方法は?

以下のような『アンダーラインで区切られた』規則正しいファイル名を、MS-DOSのコマンドを使用して特定の個所のみを変換させたいのですが、可能でしょうか? 例> A_B_C_No1.txt A_B_C_No2.txt A_B_C_No3.txt  ・  ・ を、以下のように変換させたい。 A_C_D_No1.txt A_C_D_No2.txt A_C_D_No3.txt あと、フリーウェアで変換ソフト(画像やテキスト形式の変換に強いソフト)をご存知でしたら教えてください。

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

ren A_B_C_*.txt A_C_D_*.txt A_B_C_No1.txtなどと同じディレクトリをカレントにして *(ワイルドカード)を使って異なる部分のみ*を使いrenameをすれば出来ます。 不安でしたらcopy A_B_C_*.txt A_C_D_*.txtでコピーして内容を確認後del A_B_C_*.txt で削除していまえば良いと思います。

u-mesh12
質問者

お礼

アドバイスありがとうございました。

noname#16258
noname#16258
回答No.2

上の3つのファイルが1つのフォルダに入っているとします。 テキストファイル(仮にa.txt)で以下の内容のファイルを作ります。 rename A_B_C_No1.txt A_C_D_No1.txt rename A_B_C_No2.txt A_C_D_No2.txt rename A_B_C_No3.txt A_C_D_No3.txt ファイルの拡張子をa.txtからa.batに変換します。 そのa.batのファイルを先ほどのフォルダに入れます。 a.batのファイルをダブルクリックすると変換できます。 ファイルがたくさんある場合はエクセルファイルで作ってカンマ区切りのテキストファイルで保存し、カンマをスペースに置換すればすぐにできます。

u-mesh12
質問者

お礼

batファイル形式で変更する事が出来るとは…!? 勉強になりました!!! アドバイスありがとうございます。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

そのファイルがあるディレクトリをカレントディレクトリにして、 ren A_?_?_No?.txt A_C_D_No?.txt で出来ると思われますが、試しに適当なフォルダを作って、上記の条件と同じ様なファイルを作って試して問題なければ、本番を行ってください。

u-mesh12
質問者

お礼

renコマンドを使用すれば良かったのですね。アドバイスありがとうございます。

関連するQ&A

  • MS-DOSのコマンドでファイルをクリアするコマンドありますか?

    DOSに関してはシロート同然のわたしです。 お助け下さい! あるテキストファイルをの中身だけを空にしたいのですが、 MS-DOSのコマンドで、ファイル名を指定して ファイルの中身を全て消すコマンドってありますでしょうか? ある様でしたら、実際のコーディング例も教えていただけませんか? (「aaa.txt」と言うファイルをクリアするとしたら・・・?) それと、もし、MS-DOSのコマンドの一覧が分かるホームページなどありましたら合わせて教えていただけませんでしょうか?

  • COBOLでMS-DOSコマンドの発行は?

    言語は日立系COBOL85なんですが、COBOLプログラム内で、 MS-DOSコマンド(例.MOVE A,TXT B.TXT)等のコマンド発行は可能でしょうか? コマンド発行でなくてもテキストファイル名操作が出来れば可です。 オンラインプログラムでは、サービスプログラム?を使用し、 確認できたのですが、バッチプログラムでは、 そのサービスプログラム?は、使用できない様な事を言われました。 SHELL等でではなく、直接COBOLからコマンド発行等が可能な方法は、ありませんでしょうか? できれば 具体的に教えて頂ければと思います。

  • MS-DOS(コマンドプロンプト)からの印刷方法

    こんばんわ。 MS-DOS環境(ver6.2)で動いていたソフトをWindows98 SEのコマンドプロンプトで動作させようとしています。 ソフト自体は、なんとか動作するのですが、 印字をすると文字化けしてしまいます。 [やってみたこと] C:\test.txtに以下の3行を入力し、コマンドプロンプトから、 (ctrl+p押下後)C:\>type test.txt(enter) 英数字を含め日本語も文字化けする。 テキスト・・・ ************ここから*********** abc 123 合い上夫 ************ここまで*********** Windowsでプリンタドライバをインストールしたところ、 Windows環境からは印刷できました。 [環境] PC:Epson EC203 プリンタ:NEC PC-PR201/65 (パラレル接続) config.sysにjprinter.sysは入っています。(何に使われるかわからないのですが) 原因となりうるものがわかる方、教えていただけないでしょうか。

  • テキストファイル連結のDOSコマンドについて

    テキストファイル連結のDOSコマンドについて あるフォルダに下記の様なテキストファイル群があります a.txt、b.txt、c.txt、d.txt・・・・ これらをすべて連結するには copy *.txt all.txt とすればいいのですが、一つ一つのファイルの区切りに目に「■■■■■■■■■■■■■■■」のような区切り文字を入れたいのですが何らかの方法はありますでしょうか?

  • MS-DOSのファイルをWindowsに持ってくるには?

    何度か同じような質問をしているのですが、一度まとめます。 MS-DOSのテキストファイルをWindowsに持ってくるにはどうしたらよいでしょうか? 目的のパソコンA(テキストファイルがあるパソコン) PC-9801/DX、MS-DOS3.30 コピー先のパソコンB WindowsXP その他にあるパソコンC PC-9821Nd2、MS-DOS6.2 Aのパソコンで2DDフロッピーを 720KB でフォーマットしようとしましたが、3.5インチのドライブが FORMAT コマンドに認識されないため、720KB でフォーマットできません。 Cのパソコンで FORMAT E: /4 でフォーマットしてAで開こうとしましたがセクタが見つかりませんと言われてしまいました。 以上です。対処方法の分かる方、おりましたら書込みをお願いします。

  • DOSコマンドを使用せずに、ファイル名を変換したいのです。

    DOSコマンドを使用せずに、ファイル名を変換したいのです。 ファイル名を変換したいのです。 フォルダ内に、ファイル A、B、C、・・・があります これをEXCEL内にある変換表 旧ファイル名 新ファイル名   A     P   B     Q   C     R   ・     ・   ・     ・ を用いて、ファイル名を P、Q、R、・・・ に変換する方法はないでしょうか? DOSコマンドは暗号化の関係で うまく動作しません。DOSコマンドでない方法をお願いします。

  • コマンドプロンプトでのファイル操作について

    コマンドプロンプトでのファイル操作について、ご存知のかたどうか教えてください。 a.txt b.txtという2つのファイルがあるとします。 <a.txtの内容> 1111 2222 3333 <b.txtの内容> aaaa bbbb cccc 上記の2つのファイルを読み取りc.txtというファイルへ以下のように 出力したいのですが、コマンドプロンプト(batでも問題ありません) にてできるのでしょうか? <c.txtの内容> 1111,aaaa 2222,bbbb 3333,cccc ご教授のほど、宜しくお願いします。

  • DOSコマンド COPY(複数ファイルをまとめる)

    DOSコマンドで、複数ファイルをまとめるのに COPYコマンドを使用しています。 まとめたファイル上にコメント文を加えたいのですが どうすればできるのでしょうか? 下記は、a.txtとb.txtをまとめて、c.txtにしています。 copy a.txt + b.txt c.txt だと、 そのままデータがつながってしまい、コメント文を 入れることができません。 [a.txt] aaa [b.txt] bbb  ↓ [c.txt] "Input A.txt" aaa "Input B.txt" bbb

  • バッチファイル 現在のフォルダ名をファイル名に置き換える

    こんにちは。超初心者なのですが教えてください。 ある複数フォルダに格納されている.txtファイルを、現在の フォルダ名を取得して、別フォルダにリネームして 格納するバッチファイルを作成したいと考えています。 for文を繰り返し使わなければいけないことはわかっているのですが、それをどう表現していいのか全然わかりません。 例えば、 データ取得元として以下のファイルがあったら C:\temp\20100101\data1.txt C:\temp\20100101\data2.txt C:\temp\20100101\data3.txt C:\temp\20100102\data1.txt C:\temp\20100102\data2.txt C:\temp\20100103\data1.txt C:\temp\20100103\data2.txt これを別フォルダに、現在のフォルダ名をファイル名にくっつけて 以下のように一つのフォルダに纏めて格納したいと思っています。 ファイルの中身はそのままコピーしたいので、どこかでcopyコマンド を使うかもしれないです。 C:\test\data1_20100101.txt C:\test\data2_20100101.txt C:\test\data3_20100101.txt C:\test\data1_20100102.txt C:\test\data2_20100102.txt C:\test\data1_20100103.txt C:\test\data2_20100103.txt 実装方法として以下までは考えましたが、これ以上は無理そうです。 rem set A=C:\temp rem set B=C:\test for %%A in (C:\temp\) do ( if not "%%A"=="" ( pushd "%%A" for /d %%B in (*) do ( if not "%%B"=="" ( pushd "%%B" for /d %%C in (*) do ( if not "%%C"=="" ( pushd "%%C" ) ) ) ) popd? ) ) 申し訳ありませんが、お助け願います。

  • コマンドプロンプトでテキストの引き算をする方法

    コマンドプロンプトで2つのテキストファイルの引き算をする方法があれば、ご教授いただきたいです。 A.TXT --- 11111 22222 33333 44444 B.TXT --- 33333 11111 55555 A.TXTからB.TXTを引き算して、 --- 11111 44444 を出力したいです。 エクセル上でなんとかならなくもないのですが、1万件単位で何度もチェックをする予定のため、コマンドプロンプトからコマンド一発でできる方法はないかと思い、質問させていただきました。 よろしくお願い致します。