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

[文件操作] 批处理 重命名 怎样指定,几个文字组,循环命名。

目录里有1000个文件。

重命名规则按{上,右上,右,右下,下,左下,左,左上}

这8个名字循环命名。

但是每个重命名规则,可以设定文件个数。

比如:

“上”这个要命名的文件数量是5个,

“右上”这个要命名的文件数量是12个,

“右”这个要命名的文件数量是23个。

就这样{上,右上,右,右下,下,左下,左,左上}按这个顺序循环命名。

但是每个文件命名的时候,可以设定命名数量。
选择需要承载!

本帖最后由 zaqmlp 于 2019-6-1 23:12 编辑
  1. @echo off
  2. mode con lines=3000
  3. set info=互助互利,支付宝扫码头像,感谢赞助
  4. rem 有问题,可加QQ956535081及时沟通
  5. title %info%
  6. cd /d "%~dp0"
  7. powershell -NoProfile -ExecutionPolicy bypass ^
  8.     $list=@('上:3','右上:2','右:7','右下:6','下:2','左下:8','左:6','左上:5');^
  9.     $files=@(dir^|?{($_ -is [System.IO.FileInfo]) -and ($_.Name -ne '%~nx0')});^
  10.     $n=0;^
  11.     $r=10001;^
  12.     while($n -lt $files.Count){^
  13.         for($i=0;$i -lt $list.length;$i++){^
  14.             $arr=$list[$i].split(':');^
  15.             if($arr[1] -gt 0){^
  16.                 for($j=1;$j -le $arr[1];$j++){^
  17.                     $m=1000;^
  18.                     $newname=$r.toString().subString(3)+'-'+$arr[0]+' ('+$m.toString().subString(1)+')'+$files[$n].Extension;^
  19.                     while(test-path -liter $newname){^
  20.                         $m++;^
  21.                         $newname=$r.toString().subString(3)+'-'+$arr[0]+' ('+$m.toString().subString(1)+')'+$files[$n].Extension;^
  22.                     };^
  23.                     write-host ($files[$n].Name+' --^> '+$newname);^
  24.                     mv -liter $files[$n].Name $newname;^
  25.                     $n++;^
  26.                     if($n -ge $files.Count){exit};^
  27.                 };^
  28.             };^
  29.             if($i -eq ($list.length-1)){$r++;write-host ('='*32)};^
  30.         };^
  31.     };
  32. echo;%info%
  33. pause
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 2# zaqmlp

抱歉,大佬,还有个问题没表达清楚。
第一个循环{上,右上,右,右下,下,左下,左,左上},需要在前面加个数字来区分。变成{01-上,01-右上,01-右,01-右下,01-下,01-左下,01-左,01-左上}
第二个循环变成{02-上,02-右上,02-右,02-右下,02-下,02-左下,02-左,02-左上}
第三个循环变成{03-上,03-右上,03-右,03-右下,03-下,03-左下,03-左,03-左上}
.........
这样循环下去。
能改一下吗,谢谢了。
选择需要承载!

TOP

回复 3# 937501916

没赞助没动力呀
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 4# zaqmlp


你QQ没回我,我发你支付宝了
选择需要承载!

TOP

回复 5# 937501916

已改
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

返回列表