标题: [文件操作] 批处理怎样替换文件名编号? [打印本页]
作者: cqz1314 时间: 2018-12-18 01:08 标题: 批处理怎样替换文件名编号?
当前文件夹内有若干如图文件名的文件,
想通过bat命令实现:
清除最前数字 并按文件排列顺序加序号
如图 清除182 183 加上 001 002
数字编号可能是多位 如1584
盼复 谢谢
作者: hlzj88 时间: 2018-12-18 07:06
- @echo off&&setlocal enabledelayedexpansion
- for /f %%g in ('dir /b/on *.mp3') do (
- set "wj=%%~ng"
- set wj=!wj:三国演义=!
- set wj=0000!wj!
- set wj=!wj:~-4,4!
- ren %%g 三国演义!wj!.mp3
- )
- pause
- exit
复制代码
作者: flashercs 时间: 2018-12-18 09:34
重命名测试.bat- @echo off
- powershell -Command "Set-Location -LiteralPath '%~dp0'; $n = 10001; ([System.IO.Directory]::GetFiles('.', '*.mp3')|Split-Path -Leaf|Select-String -Pattern '^(\d+)(.*)(\.mp3)$'|ForEach-Object {New-Object -TypeName psobject -Property @{id = [int]$_.Matches[0].Groups[1].Value; fileName = $_.Line; subName1 = $_.Matches[0].Groups[2].Value; subName2 = $_.Matches[0].Groups[3].Value}})|Sort-Object -Property id|ForEach-Object {Rename-Item -LiteralPath $_.fileName -NewName (([string]$n).Substring(1) + $_.subName1 + $_.subName2) -WhatIf; $n++}"
- pause
- exit /b
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |