Board logo

标题: [文件操作] 批处理怎么让生成的图片保存原文件名? [打印本页]

作者: schubert    时间: 2021-10-28 13:29     标题: 批处理怎么让生成的图片保存原文件名?

  1. @echo off
  2. set "montage=montage.exe"
  3. set "convert=convert.exe"
  4. for /F "delims=" %%i in ('dir /s/b/ad') do (
  5. cls
  6. echo 正在处理目录:%%~i
  7. "%montage%" "%%~i\*.jpg" -tile 1x1 -shadow -geometry +30+30 + -background none "%convert%" -resize x800 -bordercolor black -border 25x25 "%%~i\($_.basename).png"
  8. )
  9. cls
  10. echo 完成!
  11. pause
  12. exit
复制代码
我怎么定义保存的文件夹位置和文件名呢?

"%%~i\($_.basename).png"

这段代码应该怎么修改可以让她保持原文件名?
另外我怎么让她保存在别的文件夹,比如保存在c:\newpic中,应该怎么修改呢?
作者: Batcher    时间: 2021-10-28 14:51

回复 1# schubert


    这个代码是你自己写的吗,还是从哪个地方复制的?我想看看原始出处是不是你复制错了
作者: schubert    时间: 2021-10-28 15:10

回复 2# Batcher

我让别人做的,一个imagemagick的批处理命令

可以正常运行,只是不知道怎么保持原文件名不变,
作者: Batcher    时间: 2021-10-28 16:11

回复 3# schubert


    请把你成功运行的那个原始bat文件(不需要其它exe或图片)打包上传到阿里云盘或百度网盘,我来修改一下。
作者: schubert    时间: 2021-10-29 20:44

回复 4# Batcher

你好,已经上传百度网盘。麻烦你了

https://pan.baidu.com/s/1GrhQefBD26wI5dhO0_sQgQ
提取码:8888
作者: Batcher    时间: 2021-10-29 22:20

回复 5# schubert
  1. @echo off
  2. set "SrcFolder=C:\Users\Administrator\Desktop\1"
  3. set "DstFolder=C:\newpic"
  4. set "montage=montage.exe"
  5. if not exist "%DstFolder%" (
  6.     md "%DstFolder%"
  7. )
  8. if not exist "%SrcFolder%" (
  9.     echo 找不到待处理的图片文件夹
  10.     pause
  11.     goto :eof
  12. )
  13. for /f "delims=" %%i in ('dir /b /a-d "%SrcFolder%\*.jpg"') do (
  14.     echo 正在处理图片:%%i
  15.     "%montage%" "%SrcFolder%\%%i" -shadow -geometry +20+20 -background none -resize x500 -bordercolor black -border 15x15 "%DstFolder%\%%~ni.png"
  16.     ren "%DstFolder%\%%~ni.png" "%%i"
  17. )
  18. pause
复制代码





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