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

[文件操作] 如何批量去除文件名中的中文字符保留 空格、英文 数字和符号

[复制链接]
发表于 2018-12-1 18:33:15 | 显示全部楼层 |阅读模式
本帖最后由 溜溜看看 于 2018-12-1 18:47 编辑

如何批量去除当前文件夹和下层目录中的文件 文件名中的中文字符保留 空格、数字、英文和符号。  文件格式 比如 txt  avi  zip 等等    谢谢了先
发表于 2018-12-3 13:04:54 | 显示全部楼层
回复 1# 溜溜看看

一、文件格式:.txt .avi .zip 你可也以自己加入其它格式。
二、文件名为全中文(含中文符号)不修改,系统不允许空名称的文件名。
三、去除中文后有重名的不修改,系统不允许重名。
三、WIN7系统默认PS2.0未测试,理论上PS4.0以上全支持。
四、纯P,用FINDSTR 加 more 计算偏移也可以,但速度慢,还可能受特殊符号影响,故不写纯P,需要可写。
五、用 \xa1-\xff 的编码范围总有漏网。所有用计算字节方法。
------中文符号也是中文,会一并去掉----------------------

  1. @Echo off & cd/d "%~dp0"
  2. PowerShell "$ErrorActionPreference='SilentlyContinue';Get-ChildItem '.\*' -include *.txt,*.avi,*.zip -Recurse|%%{$Name=$Null;ForEach($i in $_.BaseName.toCharArray()){if ([byte][char]"$i"){$Name=[string]$Name+[string]$i};};Rename-Item -Path $_.FullName -NewName ([string]$Name+$_.Extension) -Force;if($?){Write-Host '  原名'$_.FullName;Write-Host '改成:'($Name+$_.Extension) -fore Magenta;};}"
  3. pause
复制代码
=======其实还有更好的方法,但PS2.0有可能不支持================
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 22:53 , Processed in 0.010488 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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