怎么用win7自带的cmd命令行给文件批量改后缀名

 我来答
赤秀英鲁昭
2019-03-31 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:29%
帮助的人:912万
展开全部
可以通过批处理命令来解决这一问题。
一、确保你要添加的文件在一个目录下(同一个文件夹内)。
二、在这个文件夹下新建一个文本文件,在文本文件中输入以下内容:
ren
*.*
*.a
详细说明一下,ren是修改文件名称的命令,之后是空格,*.*代表目录下所有文件,之后仍然是一个空格,*.a,这个a表示你要修改成的扩展名。
这条命令的意思就是将这个目录下所有文件的扩展名,修改为扩展名a。
三、注意,不同文件的扩展名如果修改后,可能会导致文件无法识别。
qop_dob
2023-02-16 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3971万
展开全部
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI/GB2312,跟要处理的多个文件放一起双击运行
<# :
cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 批量修改/替换指定文件扩展名/后缀名
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "self=%~f0"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$oldext=".txt";
$newext=".log";

function toregex($wildcard){
    $pat=[regex]::replace($wildcard, '[\+\.\^\$\{\}\[\]\(\)]', {
        param($m);
        return ('\'+$m.groups[0].value);
    });
    $pat=$pat.replace('?','.').replace('*','[^\.]*')+'$';
    return $pat;
}

$reg=toregex $oldext;
$self=get-item -literal $env:self;
$current=$self.Directory.FullName.trimend('\');
$files=@(dir -literal $current|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
    $newname=$files[$i].Name -replace $reg,$newext;
    if($newname -ne $files[$i].Name){
        write-host ($files[$i].FullName.Substring($current.length+1)+' --> '+$newname);
        $newfile=$files[$i].Directory.FullName.trimend('\')+'\'+$newname;
        move-item -literal $files[$i].FullName $newfile -ErrorAction SilentlyContinue;
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式