• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DOSで複数のファイルを一気に処理したいけど)

DOSで複数のファイルを一気に処理したいけど

このQ&Aのポイント
  • DOSで複数のファイルを一気に処理する方法
  • DOSのコマンドプロンプトを使って複数のファイルを一括処理したい場合、gawkコマンドを使用します。
  • ファイル名にワイルドカードを使用することで、一括処理が可能ですが、注意が必要です。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

>FOR %%B IN (*.csv) DO gawk -F "$1==2" %%B > %%Bsyorizumi.csv %%Bshorizumi.csv ではなく、%%~nBsyorizumi.csv です。 コマンドプロンプトから、直接入力するのなら、 FOR %B IN (*.csv) DO gawk -F, "$1==2" %B > %~nBsyorizumi.csv と、%を1つにしてください。バッチファイルの中に書くときには%%です。 あるいは、全部gawkでやる方法もありますね。 gawk -F, -v out=shorizumi.csv "$1==2{f=FILENAME;sub(/\.csv/,out,f);print >f}" test*.csv

rabitwo
質問者

お礼

ご回答ありがとうございます。 コマンドプロンプトはめんどくさいので、バッチファイルでやりました。 でも、gawkの方はエラーが出てしまいました。 syntax error 0はsubに使える引数の数としては不正です 何を言ってるのでしょう。自分が理解していないコマンドだときついですね(汗)

その他の回答 (3)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.4

>0はsubに使える引数の数としては不正です 私の書いた通りに書かずに、何らかのタイプミスをしたんですね。 gawk "{print sub()}" とか書くと出るエラーです。

rabitwo
質問者

お礼

すみません、しばらくほったらかしにしてしまってm(_ _)m

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.2

こちらの例 を 参考にして下さい。  ※ 2.ファイル連結のサンプル(renketsu.bat) http://memorva.jp/memo/windows/dos_bat.php FOR文の  DO 以降に実際に処理する コマンド記述するので、  DO の後、 copy  の代わりに、     gawk -F "$1==2" %%B > %%Bsyorizumi.csv  としてみてください。

rabitwo
質問者

お礼

ご回答ありがとうございます。 とても難しいですね(汗) 私の場合はコマンドプロンプトで FOR %%B IN (*.csv) DO gawk -F "$1==2" %%B > %%Bsyorizumi.csv と入力すればいいということですか? 試してみます!!

  • osahune
  • ベストアンサー率47% (288/609)
回答No.1

うろ覚えなんですが・・・ ワイルドカードの「*」をつけて・・というところ・・。 「???」でいけそうな気がしますが・・間違っていましたらごめんなさい^^;

rabitwo
質問者

お礼

ありがとうございます。 「*」を「???」でいったりするのですかね。それは考えていませんでした。今、使える環境に無いので今度試してみます!!

rabitwo
質問者

補足

???ではダメでした(^_^;

関連するQ&A