可以通过批处理命令来解决这一问题。
一、确保你要添加的文件在一个目录下(同一个文件夹内)。
二、在这个文件夹下新建一个文本文件,在文本文件中输入以下内容:
ren
*.*
*.a
详细说明一下,ren是修改文件名称的命令,之后是空格,*.*代表目录下所有文件,之后仍然是一个空格,*.a,这个a表示你要修改成的扩展名。
这条命令的意思就是将这个目录下所有文件的扩展名,修改为扩展名a。
三、注意,不同文件的扩展名如果修改后,可能会导致文件无法识别。
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为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;
}
}