标题: [文件操作] [分享]批处理获取每个文件夹最后一张图片的文件名 [打印本页]
作者: Batcher 时间: 2023-7-6 11:29 标题: [分享]批处理获取每个文件夹最后一张图片的文件名
【问题描述】
假设我有100个文件夹 各文件夹中都有多张图片
我怎么获取这100个文件夹中每个文件夹最后一张图片的文件名
作者: Batcher 时间: 2023-7-6 11:30
【解决方案】
test-1.bat- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /ad') do (
- for /f "delims=" %%j in ('dir /b /a-d "%%i"') do (
- set "FileName=%%j"
- )
- echo [%%i]: !FileName!
- )
- pause
复制代码
作者: Batcher 时间: 2023-7-6 11:30
test-2.bat- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /d %%i in (*) do (
- for /f "delims=" %%j in ('dir /b /a-d "%%i"') do (
- set "FileName=%%j"
- )
- echo [%%i]: !FileName!
- )
- pause
复制代码
作者: a6236130 时间: 2023-7-13 18:17
回复 3# Batcher
大哥,如果是要获取倒数第二个呢?获取第二个并且将其复制到指定路径,保持原目录结构...
作者: Batcher 时间: 2023-7-13 21:36
回复 4# a6236130
倒数第二个.bat- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /ad') do (
- for /f "delims=" %%j in ('dir /b /a-d "%%i"') do (
- set "File0=!File1!"
- set "File1=%%j"
- )
- echo [%%i]: !File0!
- )
- pause
复制代码
作者: qixiaobin0715 时间: 2023-7-14 10:44
取倒数第k个文件,这里k=2,即倒数第2个文件:- @echo off
- set /a k=2,n=0
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /ad') do (
- for /f "delims=" %%a in ('dir /b /a-d "%%i"^|find /v /c ""') do set /a m=%%a-k
- for /f "delims=" %%j in ('dir /b /a-d "%%i"') do (
- if !m! equ !n! set "FileName=%%j"
- set /a n+=1
- )
- echo [%%i]: !FileName!
- set n=0
- )
- 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 |