求一个关于复制图片文件的bat批处理程序

比如桌面上有一个文件夹A.(称做1级)
A下有B C D 等文件夹(称做2级)
B C D文件夹下分别有B1 B2 ;C1 C2 ; D1 D2文件夹(称做3级)
3级文件夹下分别有若干图片。
要求将3级文件夹下的第一个图片文件复制一个。
就是将B1 B2中的第一个图片文件复制一个,
C1 C2;D1 D2.同理。谢谢。

你一会儿全部,一会儿一个。。

到底要闹哪样???

复制到哪???2级目录中???

@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('dir /ad/b') do (
    pushd "%%~a"
    for /f "delims=" %%b in ('dir /ad/b') do (
        pushd "%%~b"
        for /f "delims=" %%c in ('dir /a-d/s/b/o-n *.jpg,*.bmp,*.png,*.gif 2^>nul') do set ff="%%~c"
        if defined ff copy /y !ff! "%~dp0%%~a\"
        set "ff="
        popd
     )
     popd
)
pause

追问

你好,不好意思啊,今天的问题和昨天的问题是不一样的。有点类似。呵呵。
我刚刚试了一下代码。是复制到2级目录中。我想复制到3级目录中,各自的文件夹。帮我修改一下。非常感谢。

大神。有时间帮我看一下。在线等。

追答@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('dir /ad/b') do (
    pushd "%%~a"
    for /f "delims=" %%b in ('dir /a-d/b/o-n *.jpg,*.bmp,*.png,*.gif 2^>nul') do set ff="%%~b"
    for /f "delims=" %%c in ('dir /ad/b') do (
        if defined ff copy /y !ff! "%%~c\"
    )
    set "ff="
    popd
)
pause

追问

奇怪,放在二级文件夹旁运行没有反应。哪里出错了?

追答

我这边测试通过的。

追问

奇怪没有变化啊。跟没有批处理一样。还是原来的样子。刚刚第一个代码可以运行。
我放在两个第2级文件夹旁边运行。其中一个第3级差不多有50多个文件夹。另一个30多个文件夹。两个都没有变化。

大神,帮我查一下原因可以吗。我运行了好多次都没有变化。谢谢了。在线等。

追答

批处理放在一级目录运行。运行后会搜索二级目录根目录的文件,搜索到第一个后,开始搜索二级目录中文件夹,然后把刚才搜到文件复制进第三级目录中。

追问

能不能帮我做在二级运行。我一级就是桌面了。运行的话会把其他的文件弄乱,谢谢。

追答

放在一级目录里面,也就是A目录里

这个脚本就是这样啊!

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