批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文件操作] 批处理怎样按文件夹内图片视频数量修改文件名?

怎么批量统计出文件夹下的 图片数量 视频数量 和文件夹大小,并自动附加到文件夹名之后啊???就像“aaa10p12v  100m”这样子

回复 1# pichuli23


    图片和视频分别是哪几种文件扩展名?
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,不用找我要支付宝或微信账号。如果一定要给,请到微信群给大家发红吧。

TOP

  1. <# :
  2. cls
  3. @echo off
  4. set info=互助互利,支付宝扫码头像,感谢赞助
  5. rem 有问题,可加QQ956535081及时沟通
  6. title %info%
  7. set "rootpath=%~dp0"
  8. if "%rootpath:~-1%" equ "\" (set "rootpath=%rootpath:~,-1%")
  9. cd /d "%rootpath%"
  10. powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%rootpath%'"
  11. echo;%info%
  12. pause
  13. exit
  14. #>
  15. $path=$args[0];
  16. $pext=@('.jpg', '.jpeg', '.png', '.bmp', '.gif');
  17. $vext=@('.mp4', '.avi', '.rmvb', '.mov', '.wmv');
  18. function formatsize($z){
  19.     $t='';
  20.     if($z -ge 1073741824){
  21.         $t=($z/1073741824).toString('0.00GB');
  22.     }else{
  23.         if($z -ge 1048576){
  24.             $t=($z/1048576).toString('0.00MB');
  25.         }else{
  26.             if($z -ge 1024){
  27.                 $t=($z/1024).toString('0.00KB');
  28.             }else{
  29.                 $t=($z).toString()+'B';
  30.             };
  31.         };
  32.     };
  33.     return $t;
  34. };
  35. $folders=@(dir -liter $path -recurse|?{$_ -is [System.IO.DirectoryInfo]}|sort {$_.FullName.length} -des);
  36. for($i=0;$i -lt $folders.length;$i++){
  37.     $files=@(dir -liter $folders[$i].FullName -recurse|?{$_ -is [System.IO.FileInfo]});
  38.     $p=0;$v=0;$ps=0;$vs=0;$s=0;
  39.     for($j=0;$j -lt $files.length;$j++){
  40.         if($pext -contains $files[$j].Extension){
  41.             $p++;
  42.             $ps+=$files[$j].length;
  43.         }else{
  44.             if($vext -contains $files[$j].Extension){
  45.                 $v++;
  46.                 $vs+=$files[$j].length;
  47.             };
  48.         };
  49.     };
  50.     $s=$ps+$vs;
  51.     $oldname=$folders[$i].Name;
  52.     $newname=($oldname -replace '\[\d+p\d+v \d+(\.\d+)?(G|M|K)?B\]$','')+'['+$p+'p'+$v+'v '+(formatsize $s)+']';
  53.     if($newname -ne $oldname){
  54.         write-host ($folders[$i].FullName+' --> '+$newname);
  55.         mv -liter $folders[$i].FullName ($folders[$i].Parent.FullName+'\'+$newname);
  56.     };
  57. };
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
QQ: 956535081

TOP

返回列表