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

  1. @echo off
  2. set n=0
  3. for /f "delims=" %%i in ('dir /a-d /b "E:\test\"') do (
  4. set /a n+=1
  5. )
  6. for /f "tokens=1-3 delims=." %%a in ('dir /a-d /b "E:\test\"') do (
  7. if %%c lss %n% (del "E:\test\%%a.%%b.%%c" /f /q)
  8. )
  9. pause
复制代码

TOP

回复  apang


    嗯嗯,可以,暂时没有发现错误,请加上同时子文件夹的功能,谢谢~!周末愉快~!! ...
awei 发表于 2015-1-10 17:31


把apang在23楼的代码稍微改下即可
  1. @set @n=0;/* & echo off
  2. set "Js=cscript -nologo -e:jscript"
  3. ::自行更换成实际路径
  4. pushd "E:\Test\"
  5. for /f "tokens=1*" %%a in ('dir /a-d /b /s ^| %Js% "%~0"') do (
  6.         echo,删除文件"%%b"
  7.         Del "%%b" /f /q
  8. )
  9. pause & exit/b & rem */
  10. dic = new ActiveXObject("Scripting.Dictionary");
  11. while (!WScript.StdIn.AtEndOfStream) {
  12.         f = WScript.StdIn.ReadLine();
  13.         m = f.match(/(.+\..+?)\.(\d+)$/);
  14.         if (m) {
  15.                 k = (m[1]).toLowerCase();
  16.                 m[2] = ("000000000000" + m[2]).substr(m[2].length);
  17.                 if (dic.Exists(k)) {
  18.                         dic.Item(k) += "\n" + m[2] + " " + m[0];
  19.                 } else dic.Add(k, m[2] + " " + m[0])
  20.         }
  21. }
  22. arr = (new VBArray(dic.Keys())).toArray();
  23. for (i=0; i<arr.length; i++) {
  24.         a = dic(arr[i]).split("\n");
  25.         if (a.length > 1) {
  26.                 WScript.Echo(a.sort().slice(0, -1).join("\n"))
  27.         }
  28. }
复制代码

TOP

返回列表