2012-02-07 92 views
0

这很难说,但我会尽我所能。我想要做的是基本上备份备份。我在FOLDER1中有几个文件和文件夹。我想要做的是创建一个批处理文件,将我的文件和文件夹从FOLDER1移动到FOLDER2。同时,每次我运行这个批处理文件时,我都希望它在FOLDER2中创建一个文件夹,将月份,日期,年份和时间作为文件夹名称,因为我将每天运行该批处理,而且我不希望它覆盖我以前的文件。无论如何要这样做。需要帮助使批文件做某些事情

谢谢

回答

1

您可以使用日期%%变量来创建一个文件夹名。你可以看到这一点

echo %date% 

这将产生07/02/2012(我英国的机器上; 2月7日)

要提取日,月,年的各个组成部分,使用串%日期: 〜OFF,LEN%其中OFF是开始提取的基于零的偏移量,LEN是提取的长度,以字符为单位。

创建一个文件夹名称到一个变量,DEST:

set dest=%date:~3,2%_%date:~0,2%_%date:~6,4% 

现在,您可以将文件移动到这个文件夹:

move src %dest% 
+0

好的。但我唯一的问题是文件夹名称不能包含“/”标记。有什么办法呢?感谢您的帮助 也可以给我一个例子,让我可以直观地看到它吗? – 2012-02-07 22:00:14

+1

该答案不包含“/”标记,它将在约定MM_DD_YYYY中创建一个文件夹。你可以说得更详细点吗? – cdmh 2012-02-07 22:27:33

0

您可以使用WMIC获取UTC格式的日期/时间这适用于文件或目录名称。这种技术的美妙之处在于它完全独立于语言环境。如果你想要,你可以去掉时区信息,如下所示。

for /f "tokens=2 delims==" %%A in ('wmic os get localdatetime /value') do set dateTime=%%A 
set dateTime=%dateTime:~0,18% 

的日期时间将有格式YYYYMMDDhhmmss.ddd

YYYY =年
MM =月
DD =天
HH =小时(24)
毫米=分钟
ss =秒
ddd =小数秒