标题: [文件操作] 批处理如何批量删除文件名中的特定字符? [打印本页]
作者: 1419646861 时间: 2022-11-12 14:19 标题: 批处理如何批量删除文件名中的特定字符?
比如我的文件是“20.7z.删除解压001”、“20.7z.删除解压002”、“20.7z.删除解压003”这样。有没有什么办法可以快速删除文件名中的“删除解压”这四个字?
作者: pd1 时间: 2022-11-12 15:43
本帖最后由 pd1 于 2022-11-12 15:44 编辑
保存为1.bat- powershell -c "dir |%{ren $_ $_.Name.Replace('删除解压','')}"
复制代码
作者: xczxczxcz 时间: 2022-11-12 16:29
回复 2# pd1
去掉 %{} 脚本块 更好。
MS - help- -Path <System.String>
- Specifies the path of the item to rename.
-
- 是否必需? True
- 位置? 0
- 默认值 None
- 是否接受管道输入? True (ByPropertyName, ByValue) <#明确可以直接获取管道输入#>
- 是否接受通配符? False
复制代码
作者: xczxczxcz 时间: 2022-11-12 16:40
偶发现PS帮助文档经过 阿三 整理后有些地方不严谨了。很可能出错。
exp:- Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
复制代码
虽然自从阿三掌管MS后几乎不看微软文档了。
作者: Batcher 时间: 2022-11-12 16:53
回复 1# 1419646861
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d "*删除解压*"') do (
- set "OldName=%%i"
- set "NewName=!OldName:删除解压=!"
- ren "!OldName!" "!NewName!"
- )
复制代码
作者: 1419646861 时间: 2022-11-12 19:32
回复 5# Batcher
感谢大佬,回复得非常详细,很有用。
作者: 1419646861 时间: 2022-11-12 19:33
回复 3# xczxczxcz
感谢众位大佬,非常感谢。
作者: 1419646861 时间: 2022-11-12 19:33
回复 2# pd1
感谢大佬的用爱发电。谢谢你。
作者: pd1 时间: 2022-11-14 13:00
回复 4# xczxczxcz
可以讲下我那样写有啥弊端吗,刚学
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |