系统之家 - Windows操作系统&装机软件下载网站!

当前位置: 首页  >  教程资讯  >  电脑教程 如何使用Bat脚本批量替换文件名?

如何使用Bat脚本批量替换文件名?

时间:2023-12-10 23:48:50 来源:网络 人气:

问:

比如一个同文件夹下有5张jpg,
0-1
0-2
0-3
0-4
0-5
我想把所有的文件名中的0换我我输入的内容,该怎么写BAT脚本呢?


640.jpg

答:

不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为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
#>
$oldword="0";
$newword=read-host "输入内容并按回车键";
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$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++){
$base=$files[$i].BaseName.replace($oldword,$newword);
if(($base -ne '') -and ($base -ne $files[$i].BaseName)){
$files[$i].FullName.Substring($current.length+1)+$c+$base+$files[$i].Extension;
}
}

教程资讯

电脑教程排行

系统教程

系统主题