标题: [文件操作] [已解决]批处理如何根据文件夹内的文件扩展名不同执行不同命令? [打印本页]
作者: read4016 时间: 2015-5-7 20:08 标题: [已解决]批处理如何根据文件夹内的文件扩展名不同执行不同命令?
本帖最后由 read4016 于 2015-5-8 10:24 编辑
判断的测试文件夹内的文件格式,主要有两种jpg和pdf两种格式,判断如果是jpg后缀的话就在测试文件夹下执行下面的1的命令,如果是pdf后缀的格式文件就在测试文件夹下执行下面的2命令。
1、
如果测试文件夹内的文件是jpg时,运行以下命令,运行的结果是将那些图片合并成一个1.pdf
convert *.jpg 1.pdf
2、如果测试文件夹内的文件是pdf时,运行以下命令,运行的结果是将那些pdf合并成一个combined.pdf
pdftk *.pdf cat output combined.pdf
作者: gawk 时间: 2015-5-7 21:13
- @echo off
- dir /b "测试\*.*" | findstr /i "\.jpg$" >nul 2>&1 && echo 执行xxx1
- dir /b "测试\*.*" | findstr /i "\.pdf$" >nul 2>&1 && echo 执行xxx2
- pause
复制代码
作者: pcl_test 时间: 2015-5-7 21:35
本帖最后由 pcl_test 于 2015-5-7 21:43 编辑
- @for /r %%a in (测试\*.*) do @if /i "%%~xa" equ ".jpg" (echo 执行命令1) else if /i "%%~xa" equ ".pdf" (echo 执行命令2)
复制代码
作者: Bella 时间: 2015-5-7 22:00
- @echo off
- pushd "测试"
- if exist *.jpg (命令1) else if exist *.pdf 命令2
- pause
复制代码
作者: read4016 时间: 2015-5-7 22:30
回复 2# gawk
实现不了,我重新编辑了问题,上传了测试文件和软件,麻烦测试下
作者: read4016 时间: 2015-5-7 22:31
回复 3# pcl_test
实现不了,我重新编辑了问题,上传了测试文件和软件,麻烦测试下
作者: read4016 时间: 2015-5-7 22:38
回复 4# Bella
实现不了,我重新编辑了问题,上传了测试文件和软件,麻烦测试下
作者: pcl_test 时间: 2015-5-7 22:47
回复 6# read4016
借Bella的代码修改下- @echo off
- set "folder=测试"
- if exist "%folder%\*.jpg" (convert "%folder%\*.jpg" "%folder%\1.pdf") else if exist "%folder%\*.pdf" (pdftk "%folder%\*.pdf" cat output "%folder%\combined.pdf")
- pause
复制代码
作者: read4016 时间: 2015-5-7 22:51
回复 8# pcl_test
测试功能实现,谢谢
作者: gawk 时间: 2015-5-7 22:54
- @echo off
- dir /b "测试\*.*" | findstr /i "\.jpg$" >nul 2>&1 && convert 测试\*.jpg 1.pdf
- dir /b "测试\*.*" | findstr /i "\.pdf$" >nul 2>&1 && pdftk 测试\*.pdf cat output combined.pdf
- pause
复制代码
作者: terse 时间: 2015-5-8 11:21
这样可行不- convert *.jpg 1.pdf ||pdftk *.pdf cat output combined.pdf
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |