使用bat脚本批量修改文件名
本帖最后由 苏紫方璇 于 2024-8-26 12:03 编辑很多从网上下载的资料文件名会带有该网站的后缀,以下就是去掉后缀的脚本,用.bat为后缀保存在一个文件中双击执行就好,
例如 File【xx论坛 www.demo.com】.txt 会改为 File.txt
核心代码是这个ren "%%f" "!filename:【xx论坛 www.demo.com】=!",将【xx论坛 www.demo.com】替换为空
ren "%%f" "!filename:【xx论坛 www.demo.com】=!123456",将【xx论坛 www.demo.com】替换为123456
所以本质上就是替换
@echo off
setlocal enabledelayedexpansion
for %%f in (*.*) do (
set "filename=%%f"
set "ext=%%~xf"
set "newfilename=!filename:0=!"
echo !newfilename!
echo !filename:【xx论坛 www.demo.com】=!
ren "%%f" "!filename:【xx论坛 www.demo.com】=!"
)
endlocal
pause
这个bat简单直观,纯粹些 # 指定要处理的目录
$directory = "C:\Path\To\Your\Directory"
# 获取目录中的所有文件
$files = Get-ChildItem -Path $directory
foreach ($file in $files) {
# 移除文件名中的【】及其内容
$newName = $file.Name -replace '【.*?】', ''
# 如果文件名发生了变化,则重命名文件
if ($newName -ne $file.Name) {
$newFilePath = Join-Path -Path $directory -ChildPath $newName
Rename-Item -Path $file.FullName -NewName $newName -WhatIf
}
}
powershell脚本
实际操作去掉最后的 -WhatIf Python,结合re模块,用正则可能比较宽泛一些 用批处理太费劲,还是用文本编辑器的正则替换比较简单些 这个我可太喜欢了 ,不过我是改图片的名称 试看看能不能改{:1_918:} 批处理有点单调了些,有些复杂的就用不上了。 可以可以简单直观 感谢大佬分享这个牛掰的bat脚本,解决了我的大难题,太给力了! 学习大佬的脚本,看看能处理文件名中有空格的情况吗 lqao120 发表于 2024-8-26 15:54
这个我可太喜欢了 ,不过我是改图片的名称 试看看能不能改
可以的,循环设置的是所有文件:for %%f in (*.*)
页:
[1]
2