标题: [文件操作] [分享]批处理获取子文件夹下第一个和最后一个文件 [打印本页]
作者: Batcher 时间: 2024-1-18 12:27 标题: [分享]批处理获取子文件夹下第一个和最后一个文件
【问题描述】
PDF文件我已经拆分了,我想批量提取这个文件中的第一个和最后一个PDF文件有什么办法吗?
第一个后缀是1“370112007201JA00005地籍调查表_1”但是最后一个不一定是6可能是其他。
作者: Batcher 时间: 2024-1-18 12:28
【解决方案】
test.bat- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /ad') do (
- echo %%i
- pushd "%%i"
- call :GetFirst
- call :GetLast
- popd
- )
- pause
- exit /b
-
- :GetFirst
- for /f "delims=" %%j in ('dir /b /a-d *.pdf') do (
- echo %%j
- goto :eof
- )
-
- :GetLast
- for /f "delims=" %%j in ('dir /b /a-d *.pdf') do (
- set "FileName=%%j"
- )
- echo %FileName%
- goto :eof
复制代码
作者: Batcher 时间: 2024-1-18 14:13
补充问题:
PDF文件我可以批量提取到一个文件夹中,我想在这个文件夹中进行操作,只保留数字最大的那个,可以吗?比如说”370112007201JA00005地籍调查表_11“和”370112007201JA00005地籍调查表_20“保留”370112007201JA00005地籍调查表_20“
test-2.bat- @echo off
- cd /d "%~dp0"
- REM 自动在上级目录创建“提取”文件夹
- set "NewFolder=..\提取"
- md "%NewFolder%" 2>nul
- for /f "tokens=1,2 delims=_" %%a in ('dir /b /a-d "*地籍调查表_1.pdf"') do (
- echo "%%a_%%b" --- ^>"%NewFolder%\"
- for /f "delims=" %%i in ('dir /b /a-d "%%a_*.pdf" ^| find /v /c ""') do (
- echo "%%a_%%i.pdf" ---^> "%NewFolder%\"
- move "%%a_%%i.pdf" "%NewFolder%\"
- )
- move "%%a_%%b" "%NewFolder%\"
- )
- pause
复制代码
作者: likeyou32 时间: 2024-3-5 15:43
如果用vba+excel ,我可以搞搞,,
但这个论坛是研究批处理的,另外也讨论vbs, 就是不涉及vba,没有相关板块。
话说,单说批处理中最精华的 for /f 命令用来提取内容的话,vba+excel+正则表达式 应该比批处理要强大很多吧 ?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |