Board logo

标题: [文件操作] 【已解决】批处理如何删除文件夹名中的中文/汉字 [打印本页]

作者: wpy4206    时间: 2016-9-2 10:49     标题: 【已解决】批处理如何删除文件夹名中的中文/汉字

如题
批处理如何获取文件夹名并删除特定的字符或者字符串(指 汉字)后重命名文件夹,不改变文件夹的路径。

汉字部分的获取并删除,汉字部分长度随机


见8楼
作者: wskwfkbdn    时间: 2016-9-2 11:01

ren2应该可以的
作者: wpy4206    时间: 2016-9-2 11:06

回复 2# wskwfkbdn


    不用第三方,来一发。我是win10系统
作者: wskwfkbdn    时间: 2016-9-2 11:14

你什么系统我不管,怎么简单怎么来,前人栽树后人乘凉,之所以有人要开发这样的第三方,就是为了实用,这样的问题如果不用正则表达式处理,只能使用笨方法
作者: wpy4206    时间: 2016-9-2 11:16

回复 4# wskwfkbdn


    问题就是没用过ren2
作者: wskwfkbdn    时间: 2016-9-2 11:27

回复 5# wpy4206


    论坛搜索
作者: pcl_test    时间: 2016-9-2 12:01

  1. powershell -c "dir|?{$_.PSIsContainer}|%%{ren $_ -NewName $($_.Name -replace '[\u4E00-\u9FA5]','')}"
  2. pause
复制代码

作者: pcl_test    时间: 2016-9-2 12:02

本帖最后由 pcl_test 于 2017-5-29 21:14 编辑
  1. /*&cls
  2. @echo off
  3. rem dir /ad/b/s则可处理子文件夹
  4. (dir /ad/b^|sort /r)|cscript -nologo -e:jscript "%~f0"
  5. pause&exit
  6. */
  7. var fso = new ActiveXObject('Scripting.Filesystemobject');
  8. while(!WSH.StdIn.AtEndOfStream){
  9.     var line = WSH.StdIn.ReadLine();
  10.     var folder = fso.GetFolder(line);
  11.     var fpath = fso.GetParentFolderName(line);
  12.     var newname = folder.Name.replace(/[\u4E00-\u9FA5]/g,'');
  13.     var newfolder = fpath?fpath+'\\'+newname:newname;
  14.     if(newname&&!fso.FolderExists(newfolder))folder.Name=newname;
  15. }
  16. WSH.Echo('Done');
复制代码

作者: happy886rr    时间: 2016-9-2 12:11

ren2第三方,地址http://batch-cn.qiniudn.com/tool/ren2.exe
  1. ren2 "([0-9、]+)[^0-9\.]+" "$1"
复制代码
回复 3# wpy4206
作者: CrLf    时间: 2016-9-2 12:26

纯批思路:tokens=* delims=0123456789 … echo !str:%%a=!
作者: GNU    时间: 2016-9-2 12:40

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]"') do (
  4.     set "str=%%i"
  5.     for /f "tokens=* delims=0123456789、" %%j in ("%%i") do (
  6.         if "%%j" neq "" (
  7.             ren "%%i" "!str:%%j=!"
  8.         )
  9.     )
  10. )
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2