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

前端之家收集整理的这篇文章主要介绍了windows – 从文件夹和子文件夹中复制前10个文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从深层嵌套的文件结构中获取第一个(任何)10个文件.我可以使用XCOPY源码dest / T / E来构建文件夹结构,但我想做的是从每个文件夹和子文件夹中获取10个文件并复制它们.

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

你的问题听起来像你想要每个子文件夹的前10个文件?这应该做到(没有详尽测试!):
  1. echo off
  2. xcopy /Y %1 %2 /T /E
  3.  
  4. dir %1 /b /s /A:D >tempfolderlist.txt
  5.  
  6. for /f "tokens=1 delims=¬" %%a in (./tempfolderlist.txt) do (
  7.  
  8. dir "%%a" /b /A:-D >tempfilelist.txt
  9.  
  10. setlocal enabledelayedexpansion
  11.  
  12. set counter=0
  13.  
  14. for /f "tokens=1 delims=¬" %%b in (./tempfilelist.txt) do (
  15.  
  16. IF !counter! LSS 10 call :docopy %1 "%%a\%%b" %2
  17. set /a counter+=1
  18.  
  19. )
  20.  
  21. endlocal
  22. )
  23.  
  24. del /q tempfolderlist.txt
  25. del /q tempfilelist.txt
  26. GOTO:EOF
  27.  
  28. :docopy
  29. set sourcePath=%~1
  30. set sourceFile=%~2
  31. set targetPath=%~3
  32. set sourceNoDrive=%sourceFile:~3,5000%
  33. set sourcePathNoDrive=%sourcePath:~3,5000%
  34. set sourceNoDrive=!sourceNoDrive:%sourcePathNoDrive%\=!
  35.  
  36. copy "%sourceFile%" "%targetPath%\%sourceNoDrive%" >> out.txt
  37.  
  38. GOTO:EOF

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

  1. first10.cmd "C:\Temp\SourcePath" "C:\Temp\DestPath"

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

猜你在找的Windows相关文章