如何使用批处理文件使用任务计划程序复制和重命名文件?

时间:2016-12-08 14:59:35

标签: batch-file cmd command scheduled-tasks scheduler

这是我现在在.bat文件中的脚本。

copy S:\Stuff\Stuff\"Database1.accdb" S:\Stuff\Stuff\AccessBackUp\AccessMainDB

这很好用,但在新备份文件夹中,我得到一个名为“Database1.accdb”的文件

我不希望每个备份都被覆盖。如何添加日期?我也试过这样的事。

copy S:\Stuff\Stuff\"Database1.accdb" S:\Stuff\Stuff\AccessBackUp\AccessMainDB\"Database1.accdb"%time::=% 

但这没有任何反应。

是否可以使用此功能执行多个文件?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:1)

set "affix=%date%%time%"
set "affix=%affix::=%"
set "affix=%affix:/=%"
copy S:\Stuff\Stuff\"Database1.accdb" "S:\Stuff\Stuff\AccessBackUp\AccessMainDB\Database1.accdb_%affix%"

这会将affix设置为日期和时间的串联,然后删除文件名中不允许的冒号和斜杠。然后将词缀附加到目标文件名。

代码可能需要调整才能删除日期名称和其他不需要的元素。如果不确切知道您的日期和时间格式是什么,则无法提供建议。例如,日期可以由dd / mm / yy或mm / dd / yy或yy / mm / dd顺序中的三个元素表示,可以具有前导零被抑制,可以具有2或4位数年份数,可以或可以没有可能缩写的日期名称,也可能不是英文。当时还有另一组变量。