cmd命令批量修改文件名问题

我有好几十个文件.文件名形如:xxx_1.tet,xxx_2.tet.....xxx_99.tet...xxx_121.tet.现在是想把_1,_99,改成_001,_0... 我有好几十个文件.文件名形如:xxx_1.tet,xxx_2.tet.....xxx_99.tet...xxx_121.tet.
现在是想把_1,_99,改成_001,_099.就是说改成为:xxx_001.tet,xxx_002.tet.....xxx_099.tet.
有知道请写出命令.不甚感激.
展开
 我来答
将臣1999
2012-12-07 · TA获得超过2201个赞
知道小有建树答主
回答量:198
采纳率:100%
帮助的人:227万
展开全部
分两个CMD命令,第一个为1-9补2个0,即00,第二个为10-99补一个0.
for /L %C in (1,1,9) do ren ????%C.tet ????00%C.tet
for /L %C in (10,1,99) do ren ????%C.tet ????0%C.tet
????是通配符,代表xxx_ ,如果实际文件名不是xxx_ 你对应几个长度就改为几个"?"。
追问
嗯.这样是可以.但是如果没有99个文件的话,这也会执行99次.
还有再请问下.为什么这样修改了后再用copy命令合并,没有按照这文件名的顺序呢?copy要怎么才能按顺序去合并?
追答
99是个变量,有多少个你就写多少个,我是按照你上面给出的例子写的,方便你看明白,自己变通改一下就行了。
copy本身就有按顺序叠加的功能,copy *.tet dest.tet
dest换成你要写入的文件名。
qop_dob
2020-03-16 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3975万
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
<# :
cls
@echo off
rem 在文件名称末尾的数字前面填充0/补零/补0使得位数相同/一致
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>

$path=Get-Location;
$ext=@('.tet');
$maxlen=0;
$files=@(dir -liter $path|?{($ext -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
    $m=[regex]::match($files[$i].BaseName,'\d+$');
    if($m.Success){
        if($m.groups[0].length -gt $maxlen){$maxlen=$m.groups[0].length;};
    };
};
for($i=0;$i -lt $files.length;$i++){
    $newbase=[regex]::replace($files[$i].BaseName,'\d+$',{param($a);$a.groups[0].value.PadLeft($maxlen,'0')});
    $newname=$newbase+$files[$i].Extension;
    $newfile=$files[$i].Directory.FullName+'\'+$newname;
    if($newname -ne $files[$i].Name){
        write-host ($files[$i].FullName+' --> '+$newname);
        mv -liter $files[$i].FullName $newfile;
    };
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mkw007
2012-12-08 · TA获得超过4270个赞
知道大有可为答主
回答量:6560
采纳率:55%
帮助的人:1633万
展开全部
哎,才几十个文件,手工修改都改好了。现在的人也太懒了。
可试试 文件批量处理百宝箱V8.0主界面的数字功能卡,勾选数字用0补足位数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式