加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

windows – 从文件夹和子文件夹中复制前10个文件

发布时间:2021-02-07 09:22:56 所属栏目:Windows 来源:网络整理
导读:我正在尝试从深层嵌套的文件结构中获取第一个(任何)10个文件.我可以使用XCOPY源码dest / T / E来构建文件夹结构,但我想做的是从每个文件夹和子文件夹中获取10个文件并复制它们. 有没有一个工具可以帮我吗? 你的问题听起来像你想要每个子文件夹的前10个文

我正在尝试从深层嵌套的文件结构中获取第一个(任何)10个文件.我可以使用XCOPY源码dest / T / E来构建文件夹结构,但我想做的是从每个文件夹和子文件夹中获取10个文件并复制它们.

有没有一个工具可以帮我吗?

你的问题听起来像你想要每个子文件夹的前10个文件?这应该做到(没有详尽测试!):
echo off
xcopy /Y %1 %2 /T /E

dir %1 /b /s /A:D >tempfolderlist.txt

for /f "tokens=1 delims=?" %%a in (./tempfolderlist.txt) do (

    dir "%%a" /b /A:-D >tempfilelist.txt

    setlocal enabledelayedexpansion

    set counter=0

    for /f "tokens=1 delims=?" %%b in (./tempfilelist.txt) do (

        IF !counter! LSS 10 call :docopy %1 "%%a%%b" %2
        set /a counter+=1

    )

    endlocal
)

del /q tempfolderlist.txt
del /q tempfilelist.txt
GOTO:EOF

:docopy
set sourcePath=%~1
set sourceFile=%~2
set targetPath=%~3
set sourceNoDrive=%sourceFile:~3,5000%
set sourcePathNoDrive=%sourcePath:~3,5000%
set sourceNoDrive=!sourceNoDrive:%sourcePathNoDrive%=!

copy "%sourceFile%" "%targetPath%%sourceNoDrive%" >> out.txt

GOTO:EOF

如果它保存到名为’first10.cmd’的批处理文件中,您可以像这样使用它:

first10.cmd "C:TempSourcePath" "C:TempDestPath"

首先,它使用xcopy准备destintation文件夹结构,就像在您的问题中一样.然后我们将所有文件夹的列表保存到文件中,并循环遍历每个文件夹.对于每个文件夹,我们保存该文件夹中所有文件的列表,并循环遍历每个文件.对于每个文件,:docopy构建复制命令并执行它.

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读