Board logo

标题: [文件操作] 求助批处理如何提取每个文件夹中第一个图像的名字? [打印本页]

作者: jingfang434    时间: 2022-8-4 17:37     标题: 求助批处理如何提取每个文件夹中第一个图像的名字?

请问如何批量提取多个文件夹中的第一个图片的名字到txt或者csv中?
作者: zhangsanfengzi    时间: 2022-8-4 18:30

每个目录下图片有多张?怎么算第一个图片?
作者: jingfang434    时间: 2022-8-5 08:36

回复 2# zhangsanfengzi


    每个目录下面都有多个图片,文件名都是以数字命名的,排列最前面的就是第一张
作者: qixiaobin0715    时间: 2022-8-5 09:09

回复 3# jingfang434
最好能举例说明,数字排序在cmd中和你在文件夹中看到的可能会有所差异。
如果图片文件格式是jpg的话,看看这个能否符合要求:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /d %%i in (*) do (
  4.     dir /b /a-d %%i\*.jpg>temp.log
  5.     set /p str=<temp.log
  6.     echo,!str!
  7. ))>list.txt
  8. del temp.log
复制代码

作者: jingfang434    时间: 2022-8-5 09:33

回复 4# qixiaobin0715


    谢谢,就是要的这个功能,多谢了
作者: Batcher    时间: 2022-8-5 09:42

回复 1# jingfang434


请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. set "OutFile=result.csv"
  4. >"%OutFile%" echo Folder,Picture
  5. for /f "delims=" %%i in ('dir /b /s /ad') do (
  6.     echo 正在处理文件夹 %%i
  7.     call :GetFirstPic "%%i"
  8. )
  9. goto :eof
  10. :GetFirstPic
  11. for /f "delims=" %%j in ('dir /b /a-d %1\*.jpg') do (
  12.     >>"%OutFile%" echo %~nx1,%%j
  13.     popd
  14.     goto :eof
  15. )
复制代码

作者: jingfang434    时间: 2022-8-5 16:11

回复 6# Batcher


    谢谢,高手




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2