• ベストアンサー

ファイル名を日付の名前にリネームするバッチファイルの作り方

Windowsを使い、Webアプリのログファイルをテキストで保存させてますが、今のところひとつのファイルにログが貯まる形式になってますので、これをWindowsのタスクを使ってバッチファイルを作って毎日テキストのログファイルを日付の名前にリネームしようと検討しております。 日付の名前にファイルをリネームする方法をお教え下さい。もしくは同等の機能を有したフリーソフトもお願い致します。

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

  • ベストアンサー
  • nnfuji
  • ベストアンサー率28% (200/701)
回答No.1

一日1ファイルでよければ、下記のバッチが使用できます。 ※WindowsNT/2000/XP用 @echo off setlocal date /t > tmp for /f "tokens=1" %%i in (tmp) do echo %%i>tmp1 for /f "delims=/ tokens=1,2,3" %%i in (tmp1) do set DATE=%%i%%j%%k ver | time | findstr 現在 > tmp for /f "tokens=2" %%i in (tmp) do echo %%i > tmp1 for /f "delims=: tokens=1,2" %%i in (tmp1) do set TIME=%%i%%j mkdir %DATE%.%TIME% ↑ここではフォルダを作成しているが、環境変数DATE,TIMEに現在の日時が入る。この部分を利用したい命令に変更する。 del tmp tmp1

vipper_vipper
質問者

お礼

非常に丁寧なご回答、ありがとうございます。これで出来ました。

関連するQ&A

  • バッチファイルでファイル名をリネームのコマンド

    お世話になります。 バッチファイルのコマンドについて質問させていただきます。 【やりたいこと】 AAA.batというバッチファイルと”MU_日付.txt”というテキストがあります。 このテキストの日付部分は毎回変わります。例)MU_111226.txt このバッチファイルとMU_日付.txtは同じ階層にあります。 まず、このAAA.batをクリックしたら、この”MU_111226.txt” を ”読み込み.txt” という名前にリネームします。このリネーム処理の時、テキスト名が”MU”で始まるファイル以外は対象にしないようにしたいのです。 次にある処理を行って、その処理が済んだら”読み込み.txt”を”END_MU_111226.txt”といった元のファイル名に”END_”を付けた形でリネームして、同じ階層にある「処理済み」フォルダへ移動させたいのです。 ”END_” + ”元のファイル名”が無理であれば、”MU_111226.txt”を「処理済み」フォルダへ移動させるだけでも構いません。 このような処理は可能でしょうか? どなたかご教授いただけますでしょうか。よろしくお願い致します。

  • バッチファイルでファイル名をリネームのコマンドにつ

    お世話になります。 バッチファイルのコマンドについて質問させていただきます。 【やりたいこと】 AAA.batというバッチファイルと”MU_日付.txt”というテキストがあります。 このテキストの日付部分は毎回変わります。例)MU_111226.txt このバッチファイルとMU_日付.txtは同じ階層にあります。 まず、このAAA.batをクリックしたら、この”MU_111226.txt” を ”読み込み.txt” という名前にリネームします。このリネーム処理の時、テキスト名が”MU”で始まるファイル以外は対象にしないようにしたいのです。 次にある処理を行って、その処理が済んだら”読み込み.txt”を”END_MU_111226.txt”といった元のファイル名に”END_”を付けた形でリネームして、同じ階層にある「処理済み」フォルダへ移動させたいのです。 ”END_” + ”元のファイル名”が無理であれば、”MU_111226.txt”を「処理済み」フォルダへ移動させるだけでも構いません。 このような処理は可能でしょうか? どなたjかご教授いただけますでしょうか。よろしくお願い致します。

  • ファイルコピー→リネーム(日付時刻をファイル名)のバッチファイル

    「フォルダ1」のファイルA(テキストファイル)を「フォルダ2」へコピーする。 この時「フォルダ1」にはファイルAを残す。 「フォルダ2」へコピーしたファイル名を「日付時刻.txt」(200303041405.txt)とする。 以上のような操作をワンクリックで行いたくて、バッチファイルを考えたのですが、日付、時刻の入ったファイルネームにリネームがどうすればいいものか…いろいろ調べてみるとどうもむずかしそうなんですが、ご存知の方よろしくお願いします。  またWSHや他ソフトウェアで可能なものがあれば教えていただきたいです。 当方win98se環境での使用ですが、win2000pro環境での実行も可能です。 よろしくお願いします。

  • バッチファイルでのリネームについて

    当方WinXPです。 いろいろ調べたのですが、自分のやりたい形での紹介は見つけられなかったので質問させてください。 aaa001.txt aaa002.txt aaa003.txt、のように連番になっているファイルを、 abc001.txt abc002.txt abc003.txt、のように別の連番にリネームするバッチを作りたいんですが、やり方がわかりません。 その場限りではなくて、何回も使いまわせるようにしたいです。 ちなみにやりたい作業内容としては 1:連番のファイルの名前を別の連番にリネーム。 ↓ 2:リネームしたファイルを結合。 ↓ 3:元のファイルを消去。 という感じで、2~3は自力で出来そうなのですが、1の作業ができないので困っています。 分かりにくい質問で申し訳ないですが、是非教えてくださると嬉しいです。 よろしくお願いします。

  • 自動でファイルをコピーしリネームするソフトってありますか?

    とあるフォルダにあるファイルを自動でコピーしリネームしてくれるようなソフトを探しております。お金は使いたくないのでフリーソフトがよいのですが・・・ またファイルはログファイルのように月日の名前がついてしまうファイルなので毎回同じ名前ではないので例えばコンピュータの日付のシステムから前月の日付になっているファイルを取得してくれるようなものがあれば大変助かります。 よろしくお願いします。

  • batでテキストファイル内の文字を使ってリネーム

    テキストファイル内の名前を使ってファイル名をリネーム+番号を付与するバッチファイルを作成したいです。 テキスト内は 1234567-0001.txt 1234567-0002.txt 1234567-0003.txt と書かれていて、 ファイルは 00000001.txt 00000002.txt 00000003.txt とあります。 これを 1234567-0001-1.txt 1234567-0002-1.txt 1234567-0003-1.txt という名前にリネームしたいです。 ファイル自体は1万ファイル以上あるのでバッチファイルで処理したいと思っています。

  • MS-DOS のバッチのリネーム(日付+時間)

    AというファイルをBというファイルにコピーした時 ファイルBの名前を日付にリネームしたいのですが どうしたらようでしょう? 参考になるページなどがあれば教えてください

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

    ある複数フォルダに格納されているファイルを、フォルダ名に リネームするバッチファイルを作成したいです。 ●リネーム前 C:\リネーム\あいうえお\data.txt C:\リネーム\かきくけこ\data.txt C:\リネーム\さしすせそ\data1.txt C:\リネーム\さしすせそ\data2.txt C:\リネーム\たちつてと\data1.log C:\リネーム\たちつてと\data2.log C:\リネーム\なにぬねの\data.log ↓ ●リネーム後 C:\リネーム\あいうえお\あいうえお.txt C:\リネーム\かきくけこ\かきくけこ.txt C:\リネーム\さしすせそ\さしすせそ 1.txt C:\リネーム\さしすせそ\さしすせそ 2.txt C:\リネーム\たちつてと\たちつてと 1.log C:\リネーム\たちつてと\たちつてと 2.log C:\リネーム\なにぬねの\なにぬねの.log 知識がなく申し訳ありませんが、お助け願います。。 pause cd c:\リネーム dir /s /b C:\リネーム\ > file.tmp for /f "delims=" %%F in (file.tmp) do ( for /f "delims=\ tokens=3" %%D in ("%%F") do ( REN %%F C:\リネーム\%%D\%%D%%~xF )) del file.tmp pause どうもうまくいきません。。。

  • バッチファイルの日付計算が出来ません

    毎月1回実行するバッチファイルがあります。 このバッチファイルは、あるプログラムのログを退避するバッチファイルなので 月に2度以上実行させないようなチェックを入れたいと考えています。 たとえば、 最初に実行する時は、バッチファイルの中で日付を持たせたファイルを出力しておき 2度目の実行時は、日付のファイルを読み込んで1ヶ月以上たっていなければエラーとする ・・・といった事をやりたいのですが、やり方がわかりません。 日付ファイルの出力は、 echo %DATE:/=% >D:\datecheck.log とすれば良いことはわかるのですが、 日付を比較する方法はどうすれば良いでしょうか。 単純にset /Aで引き算をしてしまうと 20100207-20100131=76となってしまいます。。 どうか皆さん、よろしくお願いします(;o;)

  • バッチファイルについて

    バッチファイルをを作成しています どうしてもわからないので教えてください。 なお、(1)だけは出来てます 以下、処理の流れ (1)ファイルのリネーム (2)リネームしたファイルの圧縮(ZIP形式) (3)圧縮したファイルにパスワードを付与する