![批处理文件从数据库转储数据并动态命名文件名](https://linux22.com/image/564933/%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6%E4%BB%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BD%AC%E5%82%A8%E6%95%B0%E6%8D%AE%E5%B9%B6%E5%8A%A8%E6%80%81%E5%91%BD%E5%90%8D%E6%96%87%E4%BB%B6%E5%90%8D.png)
我有一个批处理过程,可以从我的数据库(Windows 2008 r2)转储数据,并且我想动态地命名我的文件并包含星期几。
使用一个简单的 .bat 文件可以做到这一点吗?
如果是的话怎么办?
答案1
当然:
假设您的区域日期设置如下:
- 短的:年/月/日
- 长的:dddd,MMMM dd,yyyy
在批处理文件的顶部,您可以设置一个名为的环境变量名称:
set fname=%date:~0,3%
今天(星期三) fname 将设置为星期三。在批处理文件中,你可以将静态文件名替换为 %名称%
您可以轻松地向这个动态变化的名称添加静态文本:
set fname=%date:~0,3%-backup.foo
fname 将设置为:周三备份.foo
正如我上面评论的那样,您可以添加更多与日期相关的信息:
set fname=%date:~0,3%-%date:~10,4%%date:~4,2%%date:~7,2%.foo
fname 将设置为:星期三-20111019.foo
您可以通过在“set fname”变量前面添加路径,或者在脚本中使用%fname%变量时添加路径:set fname=c:\backup\%date:~0,3%-%date:~10,4%%date:~4,2%%date:~7,2%.foo
,或者在使用时添加路径: "c:\backup\%fname%"
如果路径或文件名中有空格,请记住使用引号。