[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何批量删除文件名中的特定字符?

比如我的文件是“20.7z.删除解压001”、“20.7z.删除解压002”、“20.7z.删除解压003”这样。有没有什么办法可以快速删除文件名中的“删除解压”这四个字?

本帖最后由 pd1 于 2022-11-12 15:44 编辑

保存为1.bat
  1. powershell -c "dir |%{ren $_ $_.Name.Replace('删除解压','')}"
复制代码

TOP

回复 2# pd1


     去掉 %{} 脚本块 更好。

MS - help
  1.     -Path <System.String>
  2.         Specifies the path of the item to rename.
  3.         是否必需?                    True
  4.         位置?                        0
  5.         默认值                None
  6.         是否接受管道输入?            True (ByPropertyName, ByValue)  <#明确可以直接获取管道输入#>
  7.         是否接受通配符?              False
复制代码
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

偶发现PS帮助文档经过 阿三 整理后有些地方不严谨了。很可能出错。
exp:
  1. Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
复制代码
虽然自从阿三掌管MS后几乎不看微软文档了。
1

评分人数

    • pd1: 谢谢技术 + 1
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

回复 1# 1419646861


请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /a-d "*删除解压*"') do (
  5.     set "OldName=%%i"
  6.     set "NewName=!OldName:删除解压=!"
  7.     ren "!OldName!" "!NewName!"
  8. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# Batcher


    感谢大佬,回复得非常详细,很有用。

TOP

回复 3# xczxczxcz


    感谢众位大佬,非常感谢。

TOP

回复 2# pd1


    感谢大佬的用爱发电。谢谢你。

TOP

回复 4# xczxczxcz
可以讲下我那样写有啥弊端吗,刚学

TOP

返回列表