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

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

本帖最后由 溜溜看看 于 2018-12-1 18:47 编辑

如何批量去除当前文件夹和下层目录中的文件 文件名中的中文字符保留 空格、数字、英文和符号。  文件格式 比如 txt  avi  zip 等等    谢谢了先

回复 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有可能不支持================

TOP

返回列表