[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何在文件名中的原数字前补0/补零/加0统一将长度扩充到指定位数

本帖最后由 pcl_test 于 2016-11-21 23:08 编辑

请问怎么把文件名的数字增加为5位
我有个文件夹里面有很多个jpg格式的文件,编号是1.jpg 2.jpg 3.jpg … 101.jpg  这种
我现在想批处理成 00001.jpg 00002.jpg 00003.jpg … 00101.jpg
就是不满5位的前面增加0到5位

每次遇到问题到这里来都可以解决,真的很感谢!
再次先谢谢了!
1

评分人数

    • pcl_test: 发帖前先使用论坛搜索PB -3

回复 1# 398832385


把批处理文件保存在 jpg 文件所在目录并双击运行
  1. @echo off & setlocal enabledelayedexpansion
  2. for %%a in (*.jpg) do (
  3.     set "filename=0000%%~na"
  4.     ren "%%~a" "!filename:~-5!.jpg"
  5. )
  6. pause
复制代码
1

评分人数

    • 523066680: 主要是上班划水,随便写点什么PB + 6

TOP

当表情标签   无法被显示的时候

在表情预览图上面右键-复制图片地址,粘贴,外围加 img 标签
2

评分人数

TOP

回复 2# aa77dd@163.com


   非常感谢! 在论坛搜了下没搜到,可能是关键词不对,这个可以用OK了!感谢!

TOP

  1. powershell -c "dir *[0-9].jpg|?{!$_.PSIsContainer}|%%{ren $_ ([regex]::Replace($_.name, '\d+(?=\.[^\.]+$)', {param($a);'{0:d5}' -f [int]$a.value}))}"
  2. pause
复制代码

TOP

回复 2# aa77dd@163.com


    这个怎么才能对子文件夹也有效????

TOP

回复 5# pcl_test


    版主,您发的这个怎么才能对子文件夹也生效呢?

TOP

版主发的我用了,非常感谢!但是在我的机器上好像比2楼发的那个慢些,我的是WIN10的系统

TOP

本帖最后由 pcl_test 于 2016-11-3 15:08 编辑

回复 7# 398832385
  1. dir /a-d/b/s *.jpg|powershell -c "$input|?{$_ -match '\d+\.jpg$'}|%%{ren $_ ([regex]::Replace(($_ -replace '^.+\\',''), '\d+(?=\.[^\.]+$)', {param($a);'{0:d5}' -f [int]$a.value}))}"
  2. pause
复制代码

TOP

回复 9# pcl_test


  貌似有点问题··
  我的系统是WIN10,以管理员权限运行,然后是如下效果:
1

评分人数

    • pcl_test: 能用文字说明清楚的勿发图片PB -4

TOP

本帖最后由 398832385 于 2016-10-29 20:07 编辑

回复 9# pcl_test


    简单点说就是无效...子文件夹里的jpg只改了一部分,然后就弹出错误提示

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f delims^= %%a in ('dir /a-d /s /b *.jpg') do (
  3.     set "filename=0000%%~na"
  4.     ren "%%~fa" "!filename:~-5!.jpg"
  5. )
  6. pause
复制代码
回复 6# 398832385

TOP

回复 12# aa77dd@163.com


    真牛逼!确实有用!实在太感谢了!!!!

TOP

返回列表