0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

バッチファイルを作り、robocopyによってフォルダをミラーリングする

Posted at

概要

robocopy.batは以下の効果を持つ。

  • sourceからdestにミラーリング(ファイル内容を完全に同期)する
  • ログをlogfolder下に日付付きファイルで出力(robocopy_2023-01-30.log)
  • 1週間前のログファイルは実行と同時に削除される
robocopy.bat
@echo off
rem ファイル保存時のエンコードにより、以下の数値を変えること(Shift-JIS:932, UTF-8:65001)
chcp 932

rem -----Params-----
rem ミラーリング源
set source="C:\work\source"

rem ミラーリング先
set dest="C:\work\dest"

rem ログファイルを作成するフォルダ
set logfolder="C:\work\log"
rem -----Params-----

rem -----Function-----
rem logfolder下に日付付きのlogファイルを作る(robocopy_2023-01-30.log)
set logfile=%logfolder%"\robocopy_%date:~0,4%-%date:~5,2%-%date:~8,2%.log"

rem robocopyコマンドでフォルダをミラーリングする
robocopy "%source%" "%dest%" /MIR /LOG+:"%logfile%"

rem ログフォルダにある、更新日時が7日前の.logファイルを全て削除する
forfiles /P "%logfolder%" /M "*.log" /D -7 /C "cmd /c del @file"
rem -----Function-----

注意

batファイルのエンコード

.batファイルをShift-JISで保存する場合はchcp 932
UTF-8の場合はchcp 65001を指定すること。

batファイルのテスト実行は「管理者として実行(A)」

robocopyコマンドは「管理者として実行(A)」じゃないと動かない?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?