时间:2023-12-10 23:48:50 来源:网络 人气:
问:
比如一个同文件夹下有5张jpg,
0-1
0-2
0-3
0-4
0-5
我想把所有的文件名中的0换我我输入的内容,该怎么写BAT脚本呢?
答:
<# :
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;
}
}