Batch file 简单Windows Server 2008备份脚本
我制作了简单的Win Serv 2008 R2备份脚本(内置的附加) 简单地说-我想复制Z:\backup(映射磁盘)中的所有文件夹和文件-它等于\winee\vhds\backup到另一个自动命名为当前日期的文件夹。只有最后一部分不起作用-它表示不相关的路径。 我应该换什么Batch file 简单Windows Server 2008备份脚本,batch-file,backup,windows-server-2008,Batch File,Backup,Windows Server 2008,我制作了简单的Win Serv 2008 R2备份脚本(内置的附加) 简单地说-我想复制Z:\backup(映射磁盘)中的所有文件夹和文件-它等于\winee\vhds\backup到另一个自动命名为当前日期的文件夹。只有最后一部分不起作用-它表示不相关的路径。 我应该换什么 致意。日期/T命令的结果可能包含保留字符,请参见 (注意并遵守适当的间距和“引号)。通过,您应该避免在文件夹名称中使用以下字符:®“-&”^()和@,因为它们会导致问题 编辑根据您对空间的评论,您是对的。很抱歉,我以前没有
致意。日期/T命令的结果可能包含保留字符,请参见 (注意并遵守适当的间距和
“
引号)。通过,您应该避免在文件夹名称中使用以下字符:®“-&”^()
和@
,因为它们会导致问题
编辑根据您对空间
的评论,您是对的。很抱歉,我以前没有看到或怀疑它。比较下一个(纯CLI)输出:
因此,添加set“datestr=%datestr:=%”“
或,而不是
for /f "tokens=1* delims=" %%a in ('date /T') do set "datestr=%%a"
set "datestr=%datestr:/=_%"
set "datestr=%datestr: =%"
简单地使用
"datestr=%date:/=_%"
事实上,我不知道您的区域设置
%date%
格式;它可能会因2015年3月6日
而失败,比如…我仍然有错误。我认为问题已经解决了。它创建了一个文件夹,日期如下:“2015-03-06”-带有空格。
for /f "tokens=1* delims=" %%a in ('date /T') do set "datestr=%%a"
set "datestr=%datestr:/=_%"
rem add next line, cf. **edit**
set "datestr=%datestr: =%"
mkdir "C:\backup\%datestr%"
==>for /f "tokens=1* delims=" %a in ('date /T') do @echo [%a]
[06.03.2015 ]
==>for /f "tokens=1" %a in ('date /T') do @echo [%a]
[06.03.2015]
==>echo [%date%]
[06.03.2015]
==>
for /f "tokens=1* delims=" %%a in ('date /T') do set "datestr=%%a"
set "datestr=%datestr:/=_%"
set "datestr=%datestr: =%"
"datestr=%date:/=_%"