如何在xcopy中将日期添加到目录路径

3

我在批处理文件中有一个xcopy语句.. 请帮我将今天的日期添加到目标目录中的一个目录中 xcopy /S /E /I %sourceFolder% "C:\Shared\copy\%destinationFolder%"

今天的日期是06072013,所以我希望我的目标目录看起来像下面这样

C:\Shared\copy-今天的日期........

谢谢

4个回答

3

这是一种不依赖于区域设置的日期时间戳获取方法。Wmic在Windows XP Pro及更高版本中可用。

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%

set stamp=%YYYY%-%MM%-%DD%

md "C:\Shared\copy-%stamp%"
xcopy here...

2
只需在命令中使用%date%即可:
xcopy /S /E /I %sourceFolder% "C:\Shared\copy\copy-%date%"

注意:这将保留原始日期格式。
假设您的本地日期格式为 Fri 06/07/2013 ,则可以通过以下方式切割字符串来将其格式化为 06072013
%date:~4,2%%date:~7,2%%date:~10,4%

所以最终的指令将是:

xcopy /S /E /I %sourceFolder% "C:\Shared\copy\copy-%date:~4,2%%date:~7,2%%date:~10,4%"

喜欢这个答案的简洁和一行代码的特点。 - Dan Sinclair

2
xcopy /S /E /I %sourceFolder% "C:\Shared\copy-%date:/=%\%destinationFolder%"

0

类似这样的东西...

for /f "tokens=2-4 delims=/ " %%A in ('echo.%Date%') do set Dest=C:\Shared\copy-%%A%%B%%C
xcopy /S /E /I "%sourceFolder%" "%Dest%"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接