日付が絡む命題でしたので、オプションが活躍します。
具体的な オプション は、
/MAXAGE 及び /MINAGE です。
以下に示すのは、 Robocopy で オプション /MAXAGE 及び /MINAGE を数値で指定した場合です。
実際の日付を意味する数値 ではありません。
私は、此れ迄、殆ど、これらの指定はした事が無かったので、
何事も経験! の 心構え でした。 ;)
以下の TechNet に投稿した内容と同じです。
https://social.technet.microsoft.com/Forums/ja-JP/c024804a-0a43-4f6c-9686-b12bf1d5107b/2639938291253512345012398robocopybat123982031612426260411239512388?forum=win10itprogeneralJP
共通事項:RobocopyTest20210406.txt は メモ帳 notepad.exe で開いた状態。
各ファイルは プログラムから 作成日付と更新日付を修正済み。
各ファイルは サブ階層に置かず、対象フォルダに集約で試験実行。
C:¥WINDOWS¥system32>dir H:¥Temp¥Test
ドライブ H のボリューム ラベルは ------ です
ボリューム シリアル番号は 0123-ABCD です
H:¥Temp¥Test のディレクトリ
2021/04/06 17:12 <DIR> .
2021/04/06 17:12 <DIR> ..
2021/04/04 17:00 24 RobocopyTest20210403.txt
2021/04/05 17:00 24 RobocopyTest20210404.txt
2021/04/06 17:00 24 RobocopyTest20210405.txt
2021/04/06 17:12 24 RobocopyTest20210406.txt
4 個のファイル 96 バイト
2 個のディレクトリ 7,202,832,384 バイトの空き領域
C:¥WINDOWS¥system32>robocopy H:¥Temp¥Test H:¥Temp¥Test2 /S /MAXAGE:2 /MINAGE:1 /L
-------------------------------------------------------------------------------
ROBOCOPY :: Windows の堅牢性の高いファイル コピー
-------------------------------------------------------------------------------
開始: 2021年4月6日 17:22:51
コピー元 : H:¥Temp¥Test¥
コピー先 : H:¥Temp¥Test2¥
ファイル: *.*
オプション: *.* /L /S /DCOPY:DA /COPY:DAT /MAXAGE:2 /MINAGE:1 /R:1000000 /W:30
------------------------------------------------------------------------------
新しいディレクトリ 4 H:¥Temp¥Test¥
新しいファイル 24 RobocopyTest20210404.txt
------------------------------------------------------------------------------
合計 コピー済み スキップ 不一致 失敗 Extras
ディレクトリ: 1 1 0 0 0 0
ファイル: 4 1 3 0 0 0
バイト: 96 24 72 0 0 0
時刻: 0:00:00 0:00:00 0:00:00 0:00:00
終了: 2021年4月6日 17:22:51
尚、MinAge を 0 にすると、無視される仕様の様ですね。 n>0 。
C:¥WINDOWS¥system32>robocopy H:¥Temp¥Test H:¥Temp¥Test2 /S /MAXAGE:2 /MINAGE:0 /L
-------------------------------------------------------------------------------
ROBOCOPY :: Windows の堅牢性の高いファイル コピー
-------------------------------------------------------------------------------
開始: 2021年4月6日 17:25:45
コピー元 : H:¥Temp¥Test¥
コピー先 : H:¥Temp¥Test2¥
ファイル: *.*
オプション: *.* /L /S /DCOPY:DA /COPY:DAT /MAXAGE:2 /R:1000000 /W:30
------------------------------------------------------------------------------
新しいディレクトリ 4 H:¥Temp¥Test¥
新しいファイル 24 RobocopyTest20210404.txt
新しいファイル 24 RobocopyTest20210405.txt
新しいファイル 24 RobocopyTest20210406.txt
------------------------------------------------------------------------------
合計 コピー済み スキップ 不一致 失敗 Extras
ディレクトリ: 1 1 0 0 0 0
ファイル: 4 3 1 0 0 0
バイト: 96 72 24 0 0 0
時刻: 0:00:00 0:00:00 0:00:00 0:00:00
終了: 2021年4月6日 17:25:45
また、MinAge MaxAge を共に 1 にすると、ファイルは全てスキップされます。
以上が投稿内容です。
実は、数値指定に関して検索しても、最大値 1900 と言う記述はあっても、
0 からなのか 負の整数値 も指定可能なのか (UINT or INT or ...) は不明でした。
なので、 上記の様に、ファイルを作って試して見た訳です。
結果は n > 0 つまり 最低は 1 になります。
n の説明に -n 日前 と言う記述(解説)をしている方もいました。
これも、分かり易い書き方ですね。
また、/MAXAGE と /MINAGE とは同値にしてはいけません。 当たり前と言えば当たり前 ... 。
0 件のコメント:
コメントを投稿