能否在帮我做一个批量处理同一个文件夹里任何后缀的文件名字前面加首汉字的拼音首字母的批处理?

能否在帮我做一个批量处理同一个文件夹里任何后缀的文件名字前面加首汉字的拼音首字母的批处理。比如 大世界.zip 重命名成 D 大世界.zip 最好能在字母后面有空格!

您好,非常感谢您能向我发起问答求助。根据您的描述,那么截图中那个问题中代码答案,您只需把dir /ad/b改成dir /a-d/b即可。如果还要一个空格,那么把所有的!PY!%~1改成!PY! %~1即可(其实就是在!PY!和%~1之间加个空格)。

追问

使用了更改后的批处理,bat后缀的被改了  其他格式的没有重命名。

echo 正在获取文字并添加中,请耐心等待。。。

for /f "delims=" %%a in ('dir /a-d/b') do (

    call:GetInitials "%%~a"

    set FD=1

)

if not defined FD (

追答

不好意思,忘记脚本那个文件了。

call :Get.....那句上面加上一句
if /i not "%%~nxa"=="%~nx0" (

然后在set FD.....那句下面加上一个英文右括号)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-01-22

不清楚你的实际文件/情况,仅以问题中的样例说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件或文件夹放一起双击运行

<# :
cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 在当前目录里的文件的名称开头添加第一个中文/汉字的拼音首字母
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText(\"%~f0\",[Text.Encoding]::GetEncoding('GB2312')))) -Args \"%~f0\""
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$self=get-item -literal $args[0];$path=$self.Directory.FullName;
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$bs="sj#niynip+sj+sloot+moc#zanihc#slootssc++:ptth";
$arr=$bs.replace('#', '.').replace('+', '/').ToCharArray();
[Array]::Reverse($arr);$url=$arr -join '';
$web=New-Object System.Net.WebClient;
$web.Encoding=[Text.Encoding]::UTF8;
$html=$web.DownloadString($url);
$m1=[regex]::match($html, 'var pydic ?= ?"([^"]+)"');
if($m1.success){
    $pydic=$m1.groups[1].value;
    $files=@(dir -literal $path|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])});
    for($i=0;$i -lt $files.length;$i++){
        $m2=[regex]::match($files[$i].Name, '[\u4e00-\u9fa5]');
        if($m2.Success){
            $char=$m2.groups[0].value;
            $n=$pydic.IndexOf($char);
            if($n -ge 0){
                $s=$pydic.Substring($n+1, 1);
                $s=($s -replace '[āáǎà]','a') -replace '[ōóǒò]','o';
                $s=($s -replace '[ēéěè]','e');
                $files[$i].Name+$c+$s.ToUpper()+' '+$files[$i].Name;
            }
        }
    }
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网