标题: [文件操作] BAT脚本FOR处理文件到新目录,如何保留原目录结构? [打印本页]
作者: hentai87 时间: 2021-11-29 12:21 标题: BAT脚本FOR处理文件到新目录,如何保留原目录结构?
- @echo off
- for /r .\待转换\ %%a in (*.jpg) do (
- .\libwebp-1.2.1-windows-x64\bin\cwebp.exe -m 6 %%a -o .\完成\%%~na.webp
- )
- pause
复制代码
这脚本现在能运行,但是处理后全在一个目录里了
还得自动创建对应目录。。没有目录会执行失败
作者: hentai87 时间: 2021-11-29 16:41
本帖最后由 hentai87 于 2021-11-30 09:19 编辑
@echo off
for /r .\待转换\ %%i in (*.jpg *.png) do (
if not exist ".\完成%%~pi%%~ni.webp" (
if not exist ".\完成%%~pi" MD ".\完成%%~pi"
.\libwebp-1.2.1-windows-x64\bin\cwebp.exe -quiet -m 6 "%%i" -o ".\完成%%~pi%%~ni.webp"
echo 已处理".\完成%%~pi%%~ni.webp"
)
)
pause
这是现在的,勉强实现了保留目录,但是多了2层目录,不知道怎么去掉
目标
D:\webp\待转换\webp\待转换\Fantasy Factory
结果
D:\webp\完成\webp\待转换\Fantasy Factory
我想要的
D:\webp\完成\Fantasy Factory
作者: Fit 时间: 2021-11-30 16:45
@echo off
set "mm=%cd%\完成\"
for /r .\待转换\ %%i in (*.jpg *.png) do (
if not exist "%mm%%%~ni" (
MD "%mm%%%~ni"
.\libwebp-1.2.1-windows-x64\bin\cwebp.exe -quiet -m 6 "%%i" -o "%mm%%%~ni"
echo 已处理"%mm%%%~ni"
)
)
pause
作者: wudi61600963 时间: 2021-11-30 17:54
本帖最后由 wudi61600963 于 2021-11-30 18:11 编辑
几个月前刚把楼主的需求实现了一遍,从结论说:
此类资源不建议存储 webp,因为对于照片 webp 无损会极大增大体积,有损损失画质,因此个人认为 libjpeg-turbo (最新版本 2.1.1)无损压缩 jpg 是当前最优解,其中:
· 使用算术编码存储为备份副本(-arithmetic -progressive -copy all)【体积降低 17.5%,解码效率降低 2~3倍】
· 使用霍夫曼编码存储为鉴赏用(-optimize -copy all)【体积降低 8%,解码效率提升 1~1.5倍】
使用 rar 压缩测试体积降低 7GB。
此外有一些工具可以无损修改 jpg 图像,适合去除水印使用。
(用批处理写了 JPEG 批量优化工具,如有需求,日后考虑分享)
作者: hentai87 时间: 2022-1-1 19:00
回复 4# wudi61600963
看不懂,你是说腾讯的TPG格式吗
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |