web-dev-qa-db-ja.com

ロボコピーアクションのログを作成し、今日の日付で名前が付けられたテキストファイルに保存するにはどうすればよいですか?

コマンドプロンプトでrobocopyを使用して、あるフォルダーから別のフォルダーにいくつかのアセットをコピーしています。ただし、コピーしたすべてのアセットの名前を.txtファイルに記録したいと思います。この.txtファイルは、「currentDate.txt」の形式で保存する必要があります。

実際のシナリオ:スケジューラを1日に1回実行します。このスケジューラーは、すべてのアセットを1つのフォルダーから別のフォルダーにコピーします。

Robocopyコマンドのスクリーンショットについては、以下のリンクを参照してください。

Robocopy

どんな助けでも高く評価されます:-)

6
Yash Saraiya

コピーしたすべてのアセットの名前を.txtファイルに記録したい。

この.txtファイルは、「currentDate.txt」の形式で保存する必要があります。

  • Robocopy /log:<LogFile>オプションを使用します。

  • /teeオプションを使用することもできます

    ステータス出力をコンソールウィンドウとログファイルに書き込みます。

バッチファイルの例(copyassets.cmd):

@echo off
for /f "tokens=1-3 delims=/ " %%a in ('date /t') do (
  set _date=%%a%%b%%c
  )
echo robocopy ship shore /log:%_date%.txt
  • 希望する日付形式を取得するように変更します。
  • 日付形式に問題がなければ、最後のechoを削除してください
  • ソースディレクトリにコピーが必要なサブディレクトリが含まれている場合は、/sを使用します。

構文

robocopy <Source> <Destination> [<File>[ ...]] [<Options>]

...

ログオプション

...

enter image description here

ソース Robocopy

9
DavidPostill

RoboCopyのログはDOS形式であり、あまり良くありません。GSRichCopyを試してください。RoboCopyのすべての機能を備えていますが、オープン/ロックされたファイルのコピー、タイムスタンプのコピー、GUIの機能など、いくつかの機能があります。メモ帳に簡単にコピーして貼り付けることができる見栄えの良いログとのインターフェイス。

1
dannydan