Batch file 如何通过.bat文件在文件夹中创建文件夹

Batch file 如何通过.bat文件在文件夹中创建文件夹,batch-file,Batch File,我必须使用.bat文件备份包含3个文件夹的文件夹。结构为MainFolder\First Folder、MainFolder\Second Folder、MainFolder\Third Folder。我希望备份为MainFolder\30-04-2015\FirstFolder,MainFolder\30-04-2015\SecondFolder,MainFolder\30-04-2015\ThirdFolder 我的.bat文件包含- @echo off FOR /F "TOKENS=1*

我必须使用.bat文件备份包含3个文件夹的文件夹。结构为MainFolder\First Folder、MainFolder\Second Folder、MainFolder\Third Folder。我希望备份为MainFolder\30-04-2015\FirstFolder,MainFolder\30-04-2015\SecondFolder,MainFolder\30-04-2015\ThirdFolder

我的.bat文件包含-

@echo off
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%dd%-%mm%-%yyyy% 

mkdir "Z:\MainFolder\%1%date%"

xcopy "C:\MainFolder\FirstFolder"  "Z:\MainFolder\%date%\FirstFolder"  /s/i
xcopy "C:\MainFolder\SecondFolder"  "Z:\MainFolder\%date%\SecondFolder"  /s/i
xcopy "C:\MainFolder\ThirdFolder"   "Z:\MainFolder\%date%\ThirdFolder" /s/i
只创建日期文件夹,不在其中复制任何文件


请给出解决方案

你会讨厌看到你的问题有多么困难

您正在通过
[设置日期=%dd%-%mm%-%yyyyy%]
设置日期。SET命令中包含尾随空格,因此稍后xcopy目标将变为
“Z:\MainFolder\05-01-2015\FirstFolder”
——当然不存在且无效

您还可以简化日期设置,如下所示:
FOR/F“TOKENS=2,3,4 DELIMS=-”%%A IN('DATE/T')DO SET dt=%%A-%%B-%%C

请注意,我使用了dt而不是覆盖内置的date环境变量。您可能需要切换%%A和%%B-因为我认为您在代码中日复一日地切换。我通常会以yyyy-mm-dd格式命名这样一个目录,以便正确排序。

这一行中的
%1
是否为键入
mkdir“Z:\MainFolder\%1%date%”