用cmd命令批量复制文件

例如:在D:\MP4 文件夹里有 2、3、4、5 等文件夹,每个文件夹里又有不排序的文件夹若干,这些文件夹里都是*.mp4
怎么用一条cmd命令把 D:\MP4 下 2、3、4、5 里的mp4文件 复制到 E:\MP4\Videos 里的2、3、4、5文件夹下

@echo off & title 拷贝视频文件 By 依梦琴瑶
setlocal enabledelayedexpansion
cd /d D:\MP4
for /f "delims=" %%a in ('dir /a-d/s/b *.mp4') do (
    set "Dir=%%~dpa"
    xcopy /s/e/h/j "%%~a" "E:\MP4\Videos\!Dir:%cd%\=!"
)
pause

追问

这不是cmd命令吧。

我只想要复制文件夹里全部的MP4,不包括里面其它文件夹,类似这样:

追答

你把cmd脚本命令,说成不是cmd命令,那么我真的无话可说。

追问

不行

追答

请把命令保存为bat脚本文件后运行,而不是直接复制到cmd窗口中执行。

追问

我只想把 C盘里 1至10文件夹下 若干不连续名字的子文件夹(例如WFJ、Fgq、sef文件夹)里面的所有*.mp4 复制到 E盘 1至10文件夹,不包含WFJ、Fgq、sef这些文件夹
C:\1\WFJ\*.mp4——E:\1\*.mp4 C:\2\UIR\*.mp4——E:\2\*.mp4
如果要复制全部,我用右键就好了

追答

右键选择新建文本文档:



打开新建的文档,把代码写进去


点击文件,另存为


按照以下图中所示操作,最后点击保存


双击运行刚刚保存的“复制视频.bat”这个脚本文件。


最终运行的效果:



新的代码如下:

@echo off & title 拷贝视频文件 By 依梦琴瑶
setlocal enabledelayedexpansion
cd /d D:\MP4
for /d %%a in (*) do (
    for /f "delims=" %%b in ('dir /a-d/s/b "%%~a\*.mp4"') do (
        xcopy "%%~b" "E:\MP4\Videos\%%~a\"
    )
)
pause

温馨提示:答案为网友推荐,仅供参考
相似回答