如何根据当前日期复制文件并运行脚本?

时间:2011-10-22 10:06:46

标签: powershell batch-file

午夜后的每一天,我都要从前一天复制日志文件。

日志名称格式为exYYMMDD.log。所以今天(22.10.2011)我不得不将名为ex111021.log的文件复制到某个目录中。

是否可以在批处理脚本中执行此操作?如果不是,我可以使用powershell但不喜欢,因为它没有安装在我的服务器上。

编辑: 在Siva Charan的帮助下我创造了这个(波兰win7 - echo%date%打印YYYY-MM-DD)

set /a yest_Day = %date:~8,2%-%var:~-2,1%
copy ex%date:~2,2%%date:~5,2%%yest_Day%.log targetDir

3 个答案:

答案 0 :(得分:4)

批量文件中实施此方式。

复制命令的语法:

copy sourcefilepath destinationfilepath

实施例

今天的日期:

copy ex%date:~12,10%%date:~4,2%%date:~7,2%.log D:\

对于昨天的日期:

set /a yest_Day = %date:~7,2%-%var:~-2,1%
copy ex%date:~12,10%%date:~4,2%%yest_Day%.log D:\

您必须在文件名 ex111022.log / ex111021.log 和目的地之前提供正确的文件路径。

您可以为此批处理文件制定计划,该计划将每天运行。

答案 1 :(得分:4)

在powershell中:

$YesterdayfileName = [string]::format("{0:yyMMdd}", ((Get-Date).adddays(-1)))+".log
# today 22/20/2011 gives 111021.log

Copy-Item $YesterdayfileName c:\temp

答案 2 :(得分:0)

相关问题