Board logo

标题: [文本处理] 【已解决】批处理如何给文件夹名称后添加里面所有文件的数量? [打印本页]

作者: wzf1024    时间: 2016-3-18 16:12     标题: 【已解决】批处理如何给文件夹名称后添加里面所有文件的数量?

本帖最后由 wzf1024 于 2016-3-18 21:56 编辑

有很多文件夹,需要在文件夹名称后面加上该文件夹下文件的数量,文件夹位置不变,如文件夹1下有子文件夹2和3及一个文件,子文件夹2下有两个文件,子文件夹3下有3个文件,操作后为:
文件夹1-6
文件夹2-2
文件夹3-3
……
哪位大侠帮忙,我是菜鸟啥都不懂
作者: happy886rr    时间: 2016-3-18 17:48

本帖最后由 happy886rr 于 2016-3-18 18:16 编辑

回复 1# wzf1024
论坛里教程太多了,对于这些简单问题。稍微学学就能自己解决的。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /ad /b /s^|sort /r') do (
  3. set j=0
  4. for /f "delims=" %%b in ('CD "%%a" ^& dir /a-d /b /s 2^>nul') do (set /a j+=1)
  5. ren "%%a" "%%~na-!j!"
  6. )
  7. echo 执行完毕!
  8. pause>nul
复制代码

作者: bailong360    时间: 2016-3-18 22:06

  1. //&cls&@cscript -nologo -e:jscript "%~f0"&exit
  2. var FSO  = new ActiveXObject('Scripting.FileSystemObject');
  3. var Folder = new Enumerator(FSO.GetFolder(FSO.GetFile(WScript.ScriptFullName).ParentFolder.Path).SubFolders);
  4. while (!Folder.atEnd()) {
  5.     FileCount(Folder.item());
  6.     Folder.moveNext();
  7. }
  8. function FileCount(FolderName) {
  9.     var n = 0;
  10.     var Folder_ = FSO.GetFolder(FolderName);
  11.     var Files = new Enumerator(Folder_.Files);
  12.     while (!Files.atEnd()) {
  13.         n += 1;
  14.         Files.moveNext();
  15.     }
  16.     Folder_.Name = Folder_.Name + '-' + n;
  17. }
复制代码
练手




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