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


    文件如果是如下情况会失败。
#a.txt
_b.txt
!c.txt
1.txt
2.txt
3.txt

TOP

重命名.bat
  1. 0<1/*,:
  2. @echo off
  3. REM rename files with same extension name in order using numbers. e.g: 1.txt 2.txt 3.txt ...
  4. %windir%\system32\CScript.exe -e:jscript -nologo %0 %*
  5. exit /b
  6. */;
  7. function rename(e){var r,t,i,a={},c={};try{r=new Enumerator(fso.GetFolder(e).Files)}catch(e){return}for(;!r.atEnd();r.moveNext())if(t=r.item(),!c[t.Name]&&t.Path!==WScript.ScriptFullName)for(i=fso.GetExtensionName(t.Name),""!==i&&(i="."+i),a.hasOwnProperty(i)?++a[i]:a[i]=1;;)try{t.Name!==a[i]+i&&(t.Name=a[i]+i);break}catch(e){c[""+a[i]+i]=!0,++a[i]}}var fso=new ActiveXObject("Scripting.FileSystemObject"),folder,oArgs=WScript.Arguments;new ActiveXObject("WScript.Shell").CurrentDirectory=fso.GetParentFolderName(WScript.ScriptFullName);for(var i=0,l=oArgs.length;i<l;++i)rename(oArgs(i));0===l&&rename(fso.GetParentFolderName(WScript.ScriptFullName)),WScript.Echo("Mission complete."),WScript.Quit();
复制代码

TOP

回复 13# zaqmlp


    不考虑没有扩展名的文件吗?
    不考虑扩展名为txt doc docx的类型?

TOP

回复 15# zaqmlp


    那也不该伤害无扩展名的文件啊?
还有dir *.doc *.xls
会同样出现*.docx *.xlsx *.doca *.docb *.doct *.doc! 等任意文件

TOP

返回列表