bat复制文件夹到另一个文件夹 并以时间命名

我想把一个文件夹 复制到另外一个文件夹中,并以时间命名这个文件夹(如:201807241400)

@echo off
xcopy j:\京易家\*.* f:\京易家\%date% /s
echo ^>^>^>^> 复制成功!
pause

现在的问题是 这个bat会让确认一下是文件夹名还是文件名 ,而且文件夹名称只是2018-7-24 没有小时和分钟。。。。
小白求大佬!

********************START*******************************
@echo off
setlocal enabledelayedexpansion

rem set parameter here
rem dirCopy: 0-file copy, 1-directory copy
set sourcePath=C:\Test\source
set targetPath=C:\Test\target
set fileList=list.txt
set dirCopy=1

set /a copyCount=0
dir /s /b !sourcePath!>filelist.txt
if !dirCopy! equ 0 (
goto FILE_COPY
)else (
goto DIR_COPY
)

:DIR_COPY
for /f "delims=" %%i in (!fileList!) do (
find "%%i" filelist.txt > findfile.txt
if !errorlevel! equ 0 (
for /f "skip=2 delims=" %%j in (findfile.txt) do (
set tPath=%%~fj
set tPath=!tPath:%sourcePath%=!
echo f | xcopy /y %%j !targetPath!!tPath!>nul
set /a copyCount+=1
)
)else (
echo can't find file %%i
)
)
goto END

:FILE_COPY
for /f "delims=" %%i in (!fileList!) do (
find "%%i" filelist.txt > findfile.txt
if !errorlevel! equ 0 (
for /f "skip=2 delims=" %%j in (findfile.txt) do (
copy /y %%j !targetPath!\%%i>nul
set /a copyCount+=1
)
)else (
echo can't find file %%i
)
)
goto END

:END
del filelist.txt
del findfile.txt
echo ************************************
echo copy file success: !copyCount!
pause

********************END*******************************

sourcePath是查找的文件夹,targetPath是目标文件夹,dirCopy表示是只复制文件(值为0)还是带目录复制(值为1),fileList是所有的待查找文件列表,是一个文本文件,格式如下:
光辉岁月.txt江南.txt123.mp3

执行完毕后会得到类似的结果,找不到的文件给出文件名,然后给出复制了多少个文件的结果:
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-26
bat脚本如下:
xcopy
c:\data\data1
d:\data\
/e
xcopy
c:\data\data2
d:\data\
/e
用xcopy
复制目录树,/e
参数是包括空目录。
但如果目标路径存在,则不能复制。
相似回答