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

[文本处理] [已解决]批处理取每个文件夹第N张图片 N=我可以自己打上数字 例如2

本帖最后由 swanseabrian 于 2021-11-24 13:57 编辑

取每个文件夹第N张图片   N=我可以自己打上数字 例如2

在大量文件夹里遍历提取指定第几张, 并复制到指定文件夹,
这个可以做到吗?

用于当前文件夹下第一层子文件夹,未经测试:
  1. @echo off
  2. set N=2
  3. set DstFolder=D:\abc
  4. for /d %%i in (*) do (
  5.     pushd "%%i"
  6.     for /f "tokens=2 delims=:" %%a in ('dir /b /a-d *.txt^|findstr /n .*^|findstr ^%N%:') do copy "%%a" "%DstFolder%"
  7.     popd
  8. )
  9. pause
复制代码

TOP

回复 2# qixiaobin0715


    是图片,不是txt ,这个倒是好改,

图片名命是中文 ,不是编号 呀,你这样找%N%,不行的吧

TOP

本帖最后由 qixiaobin0715 于 2021-11-24 14:24 编辑

没说是编号,N表示查找到的文件夹中的第2个文件。
你可以把copy改为:echo,%%a查看一下。

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set N=2
  3. set x=0
  4. set DstFolder=D:\abc
  5. for /d %%i in (*) do (
  6.     pushd "%%i"
  7.     for /f "delims=:" %%a in ('dir /b /a-d *.jpg') do (
  8. set /a x=x+1
  9. if !x! equ !N! (
  10. echo "%%a"
  11. copy "%%a" "%DstFolder%")
  12.     popd
  13. ))
  14. pause
复制代码
回复 4# qixiaobin0715

上面是我的代码,我echo 没问题,
可是复制的时候说,
系统找不到指定文件,这是啥情况

TOP

set x=0 应当放在for /d 循环内

TOP

回复 6# qixiaobin0715


   放了
复制的时候还 是系统找不到指定文件

TOP

这样:
  1. @echo off&setlocal enabledelayedexpansion
  2. set N=2
  3. set DstFolder=D:\abc
  4. for /d %%i in (*) do (
  5. set x=0
  6.     pushd "%%i"
  7.     for /f "delims=:" %%a in ('dir /b /a-d *.jpg') do (
  8. set /a x=x+1
  9. if !x! equ !N! (
  10. echo "%%a"
  11. copy "%%a" "%DstFolder%")
  12. )
  13.     popd
  14. )
  15. pause
复制代码
回复 7# swanseabrian

TOP

popd位置有问题
1

评分人数

TOP

回复 9# qixiaobin0715


    还真是

TOP

返回列表