batch file从数据库转储数据并dynamic命名文件名

我有一个从我的数据库(Windows 2008 R2)转储数据的批处理过程,我想dynamic地命名我的文件包含星期几。

有可能做一个简单的.bat文件?

如果是的话如何?

当然:

假设你有这样的区域date设置:

  • 短: M / D / YYYY
  • :dddd,MMMM dd,yyyy

在batch file的顶部,可以设置一个名为fname的环境variables:

set fname=%date:~0,3% 

今天(星期三)fname将被设置为星期三 。 在您的batch file中,您将用%fname%replace静态文件名

您可以轻松地将静态文本添加到这个dynamic更改的名称:

 set fname=%date:~0,3%-backup.foo 

fname将被设置为: Wed-backup.foo

正如我上面评论,你可以添加更多的date相关的信息:

 set fname=%date:~0,3%-%date:~10,4%%date:~4,2%%date:~7,2%.foo 

fname将被设置为: Wed-20111019.foo

你可以添加一个path,通过预先设置你的'set fname'variables,或者当你在脚本中使用%fname%variables: set fname=c:\backup\%date:~0,3%-%date:~10,4%%date:~4,2%%date:~7,2%.foo ,或者在使用时: "c:\backup\%fname%"

如果path或文件名中有空格,请记住使用引号。