• ベストアンサー

バッチファイルでテキストファイルに列を挿入

バッチファイルを用いて、大量のテキストファイルに先頭列を挿入し、かつファイル名をその先頭列にコピーできないかと考えております。 具体的には、 テキストファイルA XXX YYY ZZZ テキストファイルB XXY YYY ZZZ のようになっているものを、 テキストファイルA AXXX AYYY AZZZ テキストファイルB BXXX BYYY BZZZ といった形に変換したいです。 プログラムに関しては初心者です。 具体的なプログラムの内容を教えていただける方がいらっしゃいましたらよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

ファイルの内容に条件がありますが、問題なければこんな感じで。 md temp for %%A in (*.txt) do ( ( for /f "delims=" %%B in (%%A) do echo %%~nA%%B ) > temp\%%A ) で、tempフォルダーに書き換え後のファイルが出来ます。

Bal2015
質問者

お礼

教えていただいたバッチファイルがうまく機能し、仕事がとても早く進むようになりました。丁寧な回答を早速いただき誠にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ディレクトリ名をファイル名するバッチファイル

    ディレクトリ名を取得してその名称でフォルダを作るバッチファイルを考えています。 OSはWINDOWS XPです。 こういったディレクトリがあるとします。 111~444:名称が固定のディレクトリ bbb:名称が可変するディレクトリ mmm.bat、xxx.text:111フォルダと同じところにあるファイル 111┬222─bbb┬333─yyy.text    │        └zzz.text    │    └bbb┬333─yyy.text         └zzz.text mmm.bat xxx.text mmm.batを実行すると、111ディレクトリ以下のフォルダ名を取得し、 下記のようにフォルダを作成し、yyy.textの場所にbatファイルと同じ 所にあるxxx.textをコピーして差し替えるという動作をしたいのです。 (zzz.textは内容は違うが同じファイル名です) 444┬222─bbb┬333─xxx.text    │       └zzz.text    │    └bbb┬333─xxx.text        └zzz.text バッチコマンドで、ディレクトリ名を取得して空のフォルダを作る所までは 下記のようにできたのですが、 444┬222─bbb─333    │    └bbb─333 二つのzzz.textのコピー方法と、yyy.textの場所にxxx.textをコピーするにはbbbという可変するディレクトリを通らなければいけないのでその取得方法がわかりません。 分かる方は是非お教えください。 言葉が足りないところは補足もいたします。 よろしくお願いいたします。

  • バッチファイルでファイル名に文字列を挿入したい。

    フォルダにあるファイル全てに対して、ファイル名の先頭に文字列を挿入するバッチファイルを作っています。 対象のファイルは、主にエクセル、ワード、パワーポイント、PDFですが、ファイルの種類に関係なく、全てのファイルに対して、ファイル名の先頭に文字列を挿入したいです。 @echo off for %%i in (*) do ren "%%i" "【文字列】%%i" pause として文字列の挿入自体はできました。 しかし、このファイルを2回実行すると、ファイル名の先頭に【文字列】【文字列】と重複して挿入されてしまうので、すでに挿入済みのファイルに対しては実行しないようにしたいのですが、うまくいきません。 また、サブフォルダ内にあるファイルに対しても同様の処理を適用したいです。 どのように記述すればよいでしょうか。 リネームソフトを使えればよいのですが、フリーソフト等はインストールできない環境ですので、できればバッチファイルを記述して対応したいのです。 OSはウインドウズ7です。

  • DOSのバッチファイル

    恐れ入ります、以下のバッチファイルを作成したいです。  E:\XXX\abc.dll C:\XXX\  E:\YYY\abc.dll C:\YYY\  E:\ZZZ\abc.dll C:\ZZZ\ ・コピー元には、abc.dllが必ずあります。 ・コピー先には、abc.dllが既に存在している可能性が大きいです。有れば強制的に上書きしたいです。 ・バッチファイルをダブルクリックしたら上記を実行して、実行した内容が表示されるようにしたいです。 お時間ある方で上記の方法がおわかりになりお時間ある方がいらっしゃりましたら教えて頂ければ幸いです。 以上、何とぞよろしくお願いいたします。

  • Perlでエクセルからテキストファイル生成

    Perlを使い、エクセル表からデータを読み込みテキストファイルを生成したいと思っています。 Perlについて知識はほとんどありません。 サンプル記述等で教えていただけたら助かります。 下記のようなエクセル表があるとします。 <"PARAMETER.xls">   A    B   C +-------+------+--------+ 1| XXX | 32 | 0000 | +-------+------+--------+ 2| YYY |  8 | 000A | +-------+------+--------+ 3| ZZZ | 16 | 1000 | +-------+------+--------+ 4|    |  8 | 000A | (注)"A"列には記入が無いので無視。 +-------+------+--------+ 5| WWW | 32 | F000 | +-------+------+--------+ エクセル表を読み込み、下記の変換方法に従い テキストファイルを生成したいのです。 ●変換方法(基本構文) --------------------------------- if(DTin = "C") <--"C" 列のデータと比較します。 "A" = DTout("B-1":0); <--"A" 列の変数名に、"B-1"の値を代入します。 <-- 改行します。 --------------------------------- 変換後 生成されたファイルは下記を考えています。 ◆生成ファイル "Source.txt" ---------------------------------- if(DTin = 0000) XXX = DTout(31:0); if(DTin = 000A) YYY = DTout(7:0); if(DTin = 1000) ZZZ = DTout(15:0); if(DTin = F000) WWW = DTout(31:0); ---------------------------------- (注)4行目の"A"列には記入が無いので無視します。 以上、ざっくりとした説明で申し訳ありませんが、 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • エクセルVBAでテキスト保存

    エクセルのファイルをメモ帳で保存する場合に下記のコードが書いてあります。 strFILENAME = xlAPP.GetSaveAsFilename(InitialFileName:="データxxx_yyy_zzz.txt",FileFilter:=cnsFILTER, Title:=cnsTITLE) このうち、ファイル名の"データxxx_yyy_zzz.txt"、xxx, yyy,zzzをそれぞれ、特定のセルから取得したい場合、どのように直せばいいのでしょうか? xxx=A1セル yyy=A2セル zzz=A3セル といった感じです。 よろしくお願いします。

  • 複数パターン文字列指定でログファイルの中身を削除

    はじめまして。 「a.log の xxx と yyy のある行を削除」 というようなshellScriptを書いています。 a.logは以下のようになっています。 a.log 111xxx111 222yyy222 333zzz333 222yyy222 444aaa444 555bbb555 111xxx111 xxx、yyyの複数パターンで行の削除はできないでしょうか。 sedで中間ファイル(ワークファイル)を2回作成すればできるのですが… なるべく中間ファイルは作成したくありません。 最終的にはa.logを下記のようにしたいです。 a.log 333zzz333 444aaa444 555bbb555 宜しくお願い致します。

  • 行を列に

    項目A 項目B 項目C 項目D 項目E 項目F 1000  AA  ああ  ABC 1001  BB  いい  XXX  YYY  ZZZ      ↓↓↓    項目A 項目B 項目C 項目Z 1000  AA  ああ  ABC 1001  BB  いい  XXX 1001  BB  いい  YYY 1001  BB  いい  ZZZ という形に出力したいのですが、いい方法はありますでしょうか。 クロス集計だと一つの列に対して複数行は出せたのですが 複数列を複数行にすることができませんでした。 UNIONと直積を使用せずにAccessで実現することは可能でしょうか。   

  • テキストファイルのファイル名を第一行目に挿入

    大量のテキストファイルのファイル名をそれぞれのファイルの第一行目に挿入したいのですが、簡単に出来る方法がないかと調べたのですが、 http://gallery.technet.microsoft.com/scriptcenter/508dfbcf-52d5-4337-bbb7-d205ec8158a9 と言うページを見つけました。 しかし、さっぱり意味が分かりません。 バッチファイルを作って、そのバッチファイルのアイコンにドラッグ&ドロップしたら出来るようになるのでしょうか? やり方を教えてください。

  • 列値の分割の方法

    ご存知でしたら、教えてください。 列値に、任意のカンマ区切りの文字列がある時(コードと名称)、 それを2つの列に分解(コード列と名称列)して出力する方法がありましたら、教えてください。 例) INPUTテーブル FLD1 1:AAA,2:BBB,3:CCC 1A:XXX,2A:YYY,3A:ZZZ ↓ OUTPUTテーブル FLD1 FLD2 1,2,3 AAA,BBB,CCC 1A,2A,3A XXX,YYY,ZZZ よろしくお願いします。

  • ワードの置換で、文字列の前後に文字を追加

    ワードの置換について教えてください。 http://xxx/yyy/zzz という文字列があった場合、これを ABC-http://xxx/yyy/zzz-001 というように前後に文字列を追加したい場合はどうすれがいいのでしょうか? よろしくお願いします。

同じ箇所の再治療について
このQ&Aのポイント
  • 歯科医院に通っているが、再治療する必要が生じた。
  • 現在の治療が長引いているが、他の歯にも違和感が生じている。
  • 再治療を考えているが、歯医者さんの反応が気になる。
回答を見る

専門家に質問してみよう