web-dev-qa-db-ja.com

robocopyの宛先フォルダーで日付を指定する

Robocopyを実行するときにCLIを使用して日付を指定し、宛先フォルダーに日付が含まれるようにします。

robocopy C:\folder\ Z:\folder_DATE /E /ZB /COPYALL /NP /V /LOG:F:\backup_log.txt

ここで、DATEは現在の日付です。これは可能ですか、それともPower Shellに頼る必要がありますか?

私はこれを見つけました Stack Overflowの記事 しかしそれをより単純に保つことを探しています。

1
Astron

あなたは本当にあなたが望む日付のフォーマットを言わなかったので、私はyyyymmddで行きます。日、月、年が進むにつれて、それはおそらくソートに適しています。

FOR /F "tokens=2-4 delims=/ " %%a in ('echo %date%') DO SET datevar=%%c%%b%%a
robocopy C:\folder\ Z:\folder_%datevar% /E /ZB /COPYALL /NP /V /LOG:F:\backup_log.txt

日付は好きなように変更できます。%% cは年、%% bは月、%% aは日です。必要に応じて並べ替えるだけです。

3
Nixphoe

これが私の提案です:

FOR /F "tokens=1,2,3 delims=/ " %%A in ('date /T') DO (
robocopy C:\folder\ Z:\folder_%%A-%%B-%%C /E /ZB /COPYALL /NP /V /LOG:F:\backup_log.txt
)
0
Elie Damien