我有一些嵌套文件夹中的文件,其名称中有一些点,我想将它们转换为空格.例如转换
802.11.Wireless.LAN.Fundamentals.Cisco.Press.eBook-kB.pdf
Run Code Online (Sandbox Code Playgroud)
至
802 11 Wireless LAN Fundamentals Cisco Press eBook-kB.pdf
Run Code Online (Sandbox Code Playgroud)
请注意,不应删除扩展的最后一个点(此处为PDF之前),因此我无法使用此脚本执行此任务.
@echo off
setlocal enableextensions disabledelayedexpansion
set "root=c:\some\where"
for /r "%root%" %%a in ("*.?*.pdf") do (
set "filename=%%~na"
setlocal enabledelayedexpansion
for %%f in ("!filename:.= !") do (
endlocal
echo ren "%%~fa" "%%~f%%~xa"
)
)
Run Code Online (Sandbox Code Playgroud)
这将在指定的文件夹下递归搜索具有.pdf扩展名的文件,其中包括至少两个点.对于找到的每个文件,文件名中的附加点(不包括扩展名)将替换为空格.
为避免文件名或路径中的感叹号出现问题,在执行重命名操作之前,启用延迟扩展(修改块内的变量并访问更改的值所需)以删除点并禁用.
重命名操作仅响应控制台.如果输出正确,请删除echo之前的命令ren
| 归档时间: |
|
| 查看次数: |
4830 次 |
| 最近记录: |