• ベストアンサー

☆BAT:日時をTXTファイル名にして出力するには

例えば作成したいテキストファイルが有るとします。 現行はBAT実行の都度、手作業でファイル名を「年月日時分秒」にリネームしています。 これを自動処理する妙案が有れば是非ご指導下さい。 宜しくお願いいたします。 echo %COMPUTERNAME%今日は良いお天気ですね > D:\yyyymmdd_hhmmss.txt 以上

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

  • ベストアンサー
  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.2

こんな感じでいかがでしょうか。 echo off set yyyymmdd=%date:~-10% set yyyymmdd=%yyyymmdd:/=% set hhmmss=%time::=% set hhmmss=%hhmmss:~0,6% set hhmmss=%hhmmss: =0% echo %COMPUTERNAME%今日は良いお天気ですね >D:\%yyyymmdd%_%hhmmss%.txt

goo793ww
質問者

お礼

どうも有難うございました。

goo793ww
質問者

補足

pita-goraさん回答有難うございました。 deadlineさん紹介のサイトの情報を元に昨日よりテストをして何とか結果が得られたので回答のお礼をとログインすると、 pita-goraさん回答に気がつき早速試行させていただきました…good。 解り易い構文でした。この書き方を採用する事にさせていただきます。

その他の回答 (1)

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.1

『@IT:バッチ・ファイル中で日付をファイル名に使用する』 http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html

goo793ww
質問者

お礼

お陰様でファイルのリネーム作業から解放されました。 どうも有難うございました。

goo793ww
質問者

補足

deadlineさん回答有難うございました。 ご紹介いただいたサイトを拝見しました。私には難しい内容でしたが何とか理解する事が出来ました。 試行した内容を下記に掲載しておきます。 ----------------------------------------- echo off set date1=%date:~-10,4%%date:~-5,2%%date:~-2,2% set time2=%time: =0% set time3=%time2:~0,2%%time2:~3,2%%time2:~6,2% echo %COMPUTERNAME%今日は良いお天気ですね > File_%date1%_%time3%.txt ----------------------------------------- 以上

関連するQ&A

  • batファイル コマンド

    batファイルでSetを使用して変数を代入してそれをechoでテキストファイルに記載させようとしているのですが、なぜか記載できていません。 何故でしょうか?回答よろしくお願いします。 (例) set TEST=SUCCESS echo %TEST% %COMPUTERNAME%>> "%~dp0%\TEST.txt" 作成されたTEST.txtを開くと 「KAISYA_PC」【※PC名】と入力されており変数TESTの値「SUCCESS」が 入っていません。

  • BATで特定のファイル/文字列があったら

    BATで特定のファイル・フォルダ/文字列があったら%COMPUTERNAME%-0000.txtと出力したいです。 現状は、ログインスクリプトで、 %COMPUTERNAME%-sample有 or %COMPUTERNAME%-sample無.txt %COMPUTERNAME%-office2007有.txt or %COMPUTERNAME%-office2007無.txt など、ファイル単位で出力しています。 これでは集計が大変でもう少しEXCELで加工できないかと試行錯誤してます。 そこで、%COMPUTERNAME%-0000.txtという形で出力し、桁毎にルールを決めておいて 千の位:C:\TEMP\sample.txt =有:1/無:0 百の位:C:\TEMP\softcheck.txt(office2007の文字列) =有:1/無:0 十の位:C:\Program Files\Hidemaru =有:1/無:0 一の位:C:\Program Files\Windows Media Player =有:1/無:0 という具合に、BATで制御することは可能でしょうか? 端末を管理する仕事についていますが、現状管理体制がぐちゃぐちゃで管理しきれていないのが現状です。 最終的には、EXCELにファイル名をコピペし、関数で右から何桁目が0だったら"○""×"という 具合に集計したいと考えています。 どなたか知恵を貸してください。よろしくお願いします。

  • コマンドプロンプトでファイル名を取得し別の場所にコ

    G:\aaa内に、test.txt、test1.txt、test2.txt…という風にtestまでは一緒の名前のファイルが複数入っております。 そのファイル名はそのままで、別の場所D:\hokan\内に G:\aaa\test.txt → D:\hokan\test_yyyymmdd_HHMMSS.txt G:\aaa\test1.txt → D:\hokan\test1_yyyymmdd_HHMMSS.txt G:\aaa\test2.txt → D:\hokan\test2_yyyymmdd_HHMMSS.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”を「処理済み」フォルダへ移動させるだけでも構いません。 このような処理は可能でしょうか? どなたかご教授いただけますでしょうか。よろしくお願い致します。

  • batファイルで、引数のファイルリストを作りたい。

    あるbatファイルを作成しようとしています。 目的は、複数のファイルを選択して、batファイルにドラッグすると、そのパスをテキストファイルに書き込んでほしいのです。 for文を使おうと思ったのですが、以下の内容だとうまくいきません。 type NUL > "./test.txt" for %%i in (%*) do echo %%i >> "./test.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かご教授いただけますでしょうか。よろしくお願い致します。

  • batファイルの記号

    batファイルでechoコマンドがあると思いますが、 下記の文章のように記号を二つ並べているのはなぜでしょうか? ※>>の部分 echo [%DATE% %TIME%] >> "%~dp0%\test.txt"

  • 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万ファイル以上あるのでバッチファイルで処理したいと思っています。

  • BAT処理でファイル名の変更

    BAT処理で複数ファイルの名前変更を自動化させたいのですが、うまくいかず困っております。 [変更前ファイル名]  0000001234_20140731.txt ・・・ 桁数固定のID+アンダーバー+年月日.txt [変更後ファイル名]  ID1234DATE20140731_0000001234_20140731.txt   ・・・ "ID" + IDのゼロサプレス + "DATE" + 年月日+ アンダーバー +元ファイル名 これらの処理を同じディレクトリ内のファイル全てに行うにはどのようにすればよろしいでしょうか? ご指導頂けますよう宜しくお願い致します。

  • Date Timeを1行に出力(xxx.bat)

    バッチを用いて、ログファイルにDateとTimeを 同じ行に書き出したいと考えます。 現状、xxx.bat--------------- echo %date% >> mylog.txt echo %time% >> mylog.txt mylog.txtは、下記のようになっています。 2012/05/01 22:56:08.61 これを、 2012/05/01  22:56:08.61 のように出力させたいのです。 どのようにすれば、可能でしょうか? 宜しくお願いいたします。

専門家に質問してみよう