Board logo

标题: [文件操作] [分享]批处理获取每个文件夹最后一张图片的文件名 [打印本页]

作者: Batcher    时间: 2023-7-6 11:29     标题: [分享]批处理获取每个文件夹最后一张图片的文件名

【问题描述】

假设我有100个文件夹 各文件夹中都有多张图片
我怎么获取这100个文件夹中每个文件夹最后一张图片的文件名
作者: Batcher    时间: 2023-7-6 11:30

【解决方案】

test-1.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /ad') do (
  5.     for /f "delims=" %%j in ('dir /b /a-d "%%i"') do (
  6.         set "FileName=%%j"
  7.     )
  8.     echo [%%i]: !FileName!
  9. )
  10. pause
复制代码

作者: Batcher    时间: 2023-7-6 11:30

test-2.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /d %%i in (*) do (
  5.     for /f "delims=" %%j in ('dir /b /a-d "%%i"') do (
  6.         set "FileName=%%j"
  7.     )
  8.     echo [%%i]: !FileName!
  9. )
  10. pause
复制代码

作者: a6236130    时间: 2023-7-13 18:17

回复 3# Batcher


    大哥,如果是要获取倒数第二个呢?获取第二个并且将其复制到指定路径,保持原目录结构...
作者: Batcher    时间: 2023-7-13 21:36

回复 4# a6236130


倒数第二个.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /ad') do (
  5.     for /f "delims=" %%j in ('dir /b /a-d "%%i"') do (
  6.         set "File0=!File1!"
  7.         set "File1=%%j"
  8.     )
  9.     echo [%%i]: !File0!
  10. )
  11. pause
复制代码

作者: qixiaobin0715    时间: 2023-7-14 10:44

取倒数第k个文件,这里k=2,即倒数第2个文件:
  1. @echo off
  2. set /a k=2,n=0
  3. cd /d "%~dp0"
  4. setlocal enabledelayedexpansion
  5. for /f "delims=" %%i in ('dir /b /ad') do (
  6.     for /f "delims=" %%a in ('dir /b /a-d "%%i"^|find /v /c ""') do set /a m=%%a-k
  7.     for /f "delims=" %%j in ('dir /b /a-d "%%i"') do (
  8.         if !m! equ !n! set "FileName=%%j"
  9.         set /a n+=1
  10.     )
  11.     echo [%%i]: !FileName!
  12.     set n=0
  13. )
  14. pause
复制代码

作者: a6236130    时间: 2023-7-14 17:14

回复 6# qixiaobin0715


    实现了部分功能,我的意思是获取到倒数第二个文件后,将其文件复制到指定文件夹中(并且保持文件目录结构)。
作者: Batcher    时间: 2023-7-14 17:17

回复 7# a6236130


参考:批处理复制文件保留目录结构的几种方法
https://mp.weixin.qq.com/s/Xl3p-ZinO4FT7jBRDZyU2Q

你自己尝试代码遇到具体问题的话,可以再回来讨论。




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