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

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

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

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

TOP

回复 1# pichuli23


    图片和视频分别是哪几种文件扩展名?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表