每天使用批处理命令文件副本

时间:2011-07-11 06:23:20

标签: batch-file

我需要使用批处理命令将文件从一台计算机复制到本地光盘。

我的文件包含dd-mm-yyyy格式的日期。但如果我使用这个:

-%date:/=-%

它被解释为“day”,然后是日期,它与源端的文件名没有真正关联。

一旦我点击我的bat文件,它将复制一个文件夹,说“xyz dd-mm-yyy”我只想复制今天的文件夹,就像我的源机器上保存的最近7天文件夹一样。

编辑:我在源计算机上的文件夹名称是Site_info 11-07-2011,明天又会有一个文件夹被添加到名为site_info 12-07-2011的同一台计算机上。我想运行bat文件机器,它只复制今天的文件夹。

EDIT2:感谢您的支持仍然无法实现我的目标。如果可能,请提供以下情况的命令

我的机器路径:c:\ Documents and Settings \ user1 \ Desktop \ SITE_INFO \ Site_info 12-07-2011其中Site_info 12-07-2011将更改为site_info 13-07-2011

来源地址: - \ 97.253.72.127 \ cdma Site_info \ Site_info 12-07-2011明天将在此路径上添加一个文件夹,其日期为\ 97.253.72.127 \ Cdma Site_info \ Site_info 13-07-2011

2 个答案:

答案 0 :(得分:1)

如果你的意思是在日期之前有“星期几”部分并且你想要摆脱那部分,那么你可能需要一个额外的变量。首先,您将切断一周中的某一天,然后将/替换为-,就像您已经在做的那样。它可能是这样的:

…
SET "dateonly=%date:~4%"
SET "dateonly=%dateonly:/=-"
…
COPY \\computer\share\path\whatever-%dateonly%.ext drive:\path\%dateonly%\
…

答案 1 :(得分:1)

您可以尝试按照您希望的方式拼写日期:

set mydate=%date:~-10,2%-%date:~-7,2%-%date:~-4%
xcopy /E /I "Site_info %mydate%" "Copy\Site_info %mydate%"