[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [分享]批处理从每个文件夹只提取一个图片到新文件夹

【问题描述】

请教下,可以帮忙写个代码,让每个文件夹只提取一个图片,复制在新建的文件夹里面吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

【解决方案】

test_1.bat 请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. set "NewFolder=%~dp0..\新建文件夹"
  4. if not exist "%NewFolder%\" (
  5.     md "%NewFolder%"
  6. )
  7. for /f "delims=" %%i in ('dir /b /ad') do (
  8.     echo 正在处理文件夹:%%i
  9.     pushd "%%i"
  10.     call :MoveFile
  11.     popd
  12. )
  13. pause
  14. goto :eof
  15. :MoveFile
  16. for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  17.     echo 复制文件 "%%i" 到文件夹 "%NewFolder%"
  18.     copy "%%i" "%NewFolder%"
  19.     goto :eof
  20. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

【问题2】

可以再稍微改2个点吗:①新建的文件夹可以放在文件夹里面,不要放在桌面;②可以把每个文件夹含有【正面】这个字眼的图片单独复制在新建的文件夹里面

【方案2】
  1. @echo off
  2. cd /d "%~dp0"
  3. set "NewFolder=BatTest文件夹"
  4. if not exist "%NewFolder%\" (
  5.     md "%NewFolder%"
  6. )
  7. for /f "delims=" %%i in ('dir /b /ad ^| findstr /v /x "%NewFolder%"') do (
  8.     echo 正在处理文件夹:%%i
  9.     pushd "%%i"
  10.     call :CopyFile
  11.     copy /y "*正面*.jpg" "..\%NewFolder%"
  12.     popd
  13. )
  14. pause
  15. goto :eof
  16. :CopyFile
  17. for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  18.     echo 复制文件 "%%i" 到文件夹 "%NewFolder%"
  19.     copy /y "%%i" "..\%NewFolder%"
  20.     goto :eof
  21. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

【需求3】

可以用了;但是现在把每个文件夹内每一张图片和含有正面的 都提取了,可以再微调吗,就是分开一种是每一张图片,另外一种是 含有正面的

【方案3】
  1. @echo off
  2. cd /d "%~dp0"
  3. set "NewFolder1=BatTest一张"
  4. set "NewFolder2=BatTest正面"
  5. if not exist "%NewFolder1%\" (
  6.     md "%NewFolder1%"
  7. )
  8. if not exist "%NewFolder2%\" (
  9.     md "%NewFolder2%"
  10. )
  11. for /f "delims=" %%i in ('dir /b /ad ^| findstr /v /x /c:"%NewFolder1%" /c:"%NewFolder2%"') do (
  12.     echo 正在处理文件夹:%%i
  13.     pushd "%%i"
  14.     call :MoveFile
  15.     copy /y "*正面*.jpg" "..\%NewFolder2%"
  16.     popd
  17. )
  18. pause
  19. goto :eof
  20. :MoveFile
  21. for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  22.     echo 复制文件 "%%i" 到文件夹 "%NewFolder1%"
  23.     copy /y "%%i" "..\%NewFolder1%"
  24.     goto :eof
  25. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表