标题: (已解决)+30求助,批量去除子文件夹中照片名的英文字母 [打印本页]
作者: hxc1995 时间: 2021-11-10 14:14 标题: (已解决)+30求助,批量去除子文件夹中照片名的英文字母
本帖最后由 hxc1995 于 2021-11-10 16:50 编辑
+30求助,批量去除子文件夹中照片名的英文字母
作者: Batcher 时间: 2021-11-10 14:48
回复 1# hxc1995 - @echo off
- setlocal enabledelayedexpansion
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /s /a-d *.jpg *.png') do (
- set "FileName=%%~ni"
- for %%j in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
- set "FileName=!FileName:%%j=!"
- )
- if "%%~nxi" neq "!FileName!%%~xi" (
- ren "%%i" "!FileName!%%~xi"
- )
- )
复制代码
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: zaqmlp 时间: 2021-11-10 14:53
- <# :
- cls&echo off&cd /d "%~dp0"&mode con lines=3000
- rem 另存为ANSI编码
- powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
- pause
- exit
- #>
- $path=get-item -literal ".";
- $files=@(dir -liter $path -recurse|?{(@('.jpg','.jpeg','.bmp','.png','.tif') -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
- for($i=0;$i -lt $files.length;$i++){
- $base=($files[$i].BaseName -replace '[a-z]','').trim();
- if(($base -ne '') -and ($base -ne $files[$i].BaseName)){
- $newname=$base+$files[$i].Extension;
- $newfile=$files[$i].Directory.FullName+'\'+$newname;
- $n=2;
- while(test-path -literal $newfile){
- $newname=$base+' ('+$n.toString()+')'+$files[$i].Extension;
- $newfile=$files[$i].Directory.FullName+'\'+$newname;
- $n++;
- }
- write-host ($files[$i].FullName+' --> '+$newname);
- move-Item -liter $files[$i].FullName $newfile -force -ErrorAction SilentlyContinue;
- }
- }
复制代码
作者: hxc1995 时间: 2021-11-10 16:47
回复 2# Batcher
感谢管理大大
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |