批处理命令将文件移动到新目录

我想写一个批处理作业,执行时将抓住C:\Test\Log文件夹中的所有文件,并将它们移动到C:\Test的新目录中。 这个新的目录将有一个名为“备份 – ”和CURRENT DATE。

所以一旦完成,日志文件夹应该是空的,现在位于新文件夹中的所有文件。

我知道我将不得不使用MOVE命令,但不知道如何dynamic创build一个新的文件夹,并使用date来命名它。

Solutions Collecting From Web of "批处理命令将文件移动到新目录"

像这样的东西可能会有所帮助:

 SET Today=%Date:~10,4%%Date:~4,2%%Date:~7,2% mkdir C:\Test\Backup-%Today% move C:\Test\Log\*.* C:\Test\Backup-%Today%\ SET Today= 

重要的部分是第一行。 它将输出内部DATE值并将其解析为名为Today的环境变量,格式为CCYYMMDD ,如“20110407”中所示。

%Date:~10,4%表示从位置10开始提取Date环境变量'Thu 04/07/2011'的一个*子字符串(内置在命令提示符下的echo %Date% ),4个字符2011 )。 然后连接Date:另一个子字符串Date:从位置4开始,为2个字符( 04 ),然后连接两个从位置7( 07 )开始的附加字符。

*子串值的起点是从0开始的。

您可能需要根据您的语言环境中的日期格式来调整这些值,但这应该为您提供一个起点。

如果你喜欢的话,这也会起作用

  xcopy C:\Test\Log "c:\Test\Backup-%date:~4,2%-%date:~7,2%-%date:~10,4%_%time:~0,2%%time:~3,2%" /s /i del C:\Test\Log