找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19840|回复: 8

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

[复制链接]
发表于 2022-11-12 14:19:33 | 显示全部楼层 |阅读模式
比如我的文件是“20.7z.删除解压001”、“20.7z.删除解压002”、“20.7z.删除解压003”这样。有没有什么办法可以快速删除文件名中的“删除解压”这四个字?
发表于 2022-11-12 15:43:36 | 显示全部楼层
本帖最后由 pd1 于 2022-11-12 15:44 编辑

保存为1.bat
  1. powershell -c "dir |%{ren $_ $_.Name.Replace('删除解压','')}"
复制代码
发表于 2022-11-12 16:29:09 | 显示全部楼层
回复 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

复制代码
发表于 2022-11-12 16:40:48 | 显示全部楼层
偶发现PS帮助文档经过 阿三 整理后有些地方不严谨了。很可能出错。
exp:

  1. Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
复制代码
虽然自从阿三掌管MS后几乎不看微软文档了。

评分

参与人数 1技术 +1 收起 理由
pd1 + 1 谢谢

查看全部评分

发表于 2022-11-12 16:53:36 | 显示全部楼层
回复 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. )
复制代码
 楼主| 发表于 2022-11-12 19:32:07 | 显示全部楼层
回复 5# Batcher


    感谢大佬,回复得非常详细,很有用。
 楼主| 发表于 2022-11-12 19:33:10 | 显示全部楼层
回复 3# xczxczxcz


    感谢众位大佬,非常感谢。
 楼主| 发表于 2022-11-12 19:33:32 | 显示全部楼层
回复 2# pd1


    感谢大佬的用爱发电。谢谢你。
发表于 2022-11-14 13:00:50 | 显示全部楼层
回复 4# xczxczxcz
可以讲下我那样写有啥弊端吗,刚学
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 10:50 , Processed in 0.020836 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表