Board logo

标题: [其他] 求助: 批处理重命名多个文件,并在文件名后面加字符 [打印本页]

作者: hfstar    时间: 2021-10-27 11:38     标题: 求助: 批处理重命名多个文件,并在文件名后面加字符

比如:有多个 *.png 文件
        我想重命名并在 文件名后加一个_Y,重命名后文件为    文件名_Y.png

这个批处理该怎么写呢,各位大佬
作者: qixiaobin0715    时间: 2021-10-27 11:48

  1. for /f "delims=" %%a in ('dir /b /a-d *.png') do ren "%%a" "%%~na_Y.png"
复制代码

作者: hfstar    时间: 2021-10-27 11:54

回复 2# qixiaobin0715


    好用,非常感谢
作者: dos大帝    时间: 2021-10-27 12:04

  1. for /f "delims=" %%a in ('dir /b /a-d *.png') do if "%%~xa" == ".png" ren "%%a" "%%~na_Y.png"
复制代码

作者: qixiaobin0715    时间: 2021-10-27 12:09

多此一举。本来搜索的就是.png文件。
作者: aloha20200628    时间: 2021-10-27 13:21

就一行可否...
ren *.png *_Y.png
作者: qixiaobin0715    时间: 2021-10-27 13:41

没有搞明白ren中使用通配符的规则,最好不要这么写,ren中使用通配符很另类的!和通常想象的不一样。
作者: aloha20200628    时间: 2021-10-27 13:47

治病关键是要对症
试一试 结论自知...
作者: dos大帝    时间: 2021-10-27 14:24

回复 5# qixiaobin0715


    麻烦弄清楚再说结论, 别让楼主误操作了
作者: Fit    时间: 2021-10-27 14:26

@echo off
for /f "tokens=*" %%i in ('dir /b /a-d *.*') do ren "%%i" "%%~ni_Y%%~xi"
pause
作者: hfstar    时间: 2021-10-27 14:52

回复 2# qixiaobin0715


    假如要把多个.xml文件中的 Image="111.png" 替换为 #if<SkinStyle==YellowSkin> Image="111_Y.png" #endif Image="111.png" 又该怎么写呢?
作者: qixiaobin0715    时间: 2021-10-27 14:57

回复 9# dos大帝
dir /b /a-d *.png
作者: hfstar    时间: 2021-10-27 14:59

回复 10# Fit


    您这个也不错,把所有文件的文件名后面都加_Y了
作者: WHY    时间: 2021-10-27 21:23

回复 5# qixiaobin0715


    4楼可能考虑到 .pngx 和 .pngy 等扩展名的情况会误删。
文件删除操作,个人习惯在 del 前面加 echo,把选择权交给使用者可能更保险。




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