标题: [文件操作] 【已解决】文件夹的批量重命名,替换特定字符,批处理怎么实现? [打印本页]
作者: hywoow 时间: 2023-9-27 20:58 标题: 【已解决】文件夹的批量重命名,替换特定字符,批处理怎么实现?
本帖最后由 hywoow 于 2023-9-28 19:37 编辑
例如文件夹名称:【三国演义】,重命名为《三国演义》,将符号【替换成《,】替换成》,请问各位大佬如何实现
作者: pd1 时间: 2023-9-27 21:10
- powershell -c "dir -Directory|%{Rename-Item $_ $_.Name.Replace('【','《').Replace('】','》')}"
复制代码
作者: Batcher 时间: 2023-9-27 21:45
回复 1# hywoow
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /ad *【*') do (
- echo 正在处理文件夹 %%i
- set "OldName=%%i"
- setlocal enabledelayedexpansion
- set "NewName=!OldName:【=《!"
- set "NewName=!NewName:】=》!"
- ren "!OldName!" "!NewName!"
- endlocal
- )
复制代码
作者: hywoow 时间: 2023-9-27 22:17
回复 2# pd1
感谢大佬!
作者: hywoow 时间: 2023-9-27 22:23
回复 3# Batcher
感谢管理,但是有个新的问题,就是文件名的符号改成Unicode字符字符,例如:哈利・波特,改成:哈利 波特,・字符在ANSI格式里保存不了,这种情况如何处理呢
作者: Batcher 时间: 2023-9-28 10:29
回复 5# hywoow
代码另存为UTF-8编码- @echo off
- chcp 65001 >nul
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /ad *【*') do (
- echo 正在处理文件夹 %%i
- set "OldName=%%i"
- setlocal enabledelayedexpansion
- set "NewName=!OldName:【=《!"
- set "NewName=!NewName:】=》!"
- ren "!OldName!" "!NewName!"
- endlocal
- )
复制代码
作者: hywoow 时间: 2023-9-28 19:36
回复 6# Batcher
谢谢,学到了!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |