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

[文件操作] [已解决]批处理按照标题给MP3音频排序或者加序号

名称                                   标题
vb_2_3_art_us.mp3            20
vb_2_3_ruin_us.mp3           800
vb_2_3_cell_us.mp3            600
等等                                    等等

即:按照标绿的“标题”排序,给“名称”加不加序号都可以,
只要本质把“名称”顺序按照“标题”顺序排列便可。
因为即使在“我的电脑”中按照 “标题”排好后,
引入到音频编辑器还是按照“名称”排序。

内容量大,手动不适合。

大师们,恳请帮忙解决一下

图片更好理解一点,怕自己表述不到位

本帖最后由 ashelybeauty 于 2019-12-5 16:15 编辑

回复 2# zaqmlp


    另外请问一下排好序之后出现 1 10 11 ....2 20 21……该如何解决呀?感谢您!祝生活愉快!
即按照1~几百的顺序排序

TOP

回复 2# zaqmlp


问题已解决 感谢🙏

TOP

回复 3# WHY


谢谢你 我晚上回去试一试

TOP

假设 mp3 文件标题全部为数字
  1. $wmp = New-Object -Com 'WMPlayer.ocx';
  2. dir 'E:\Test\*.mp3' | sort{$a=$wmp.newMedia($_.FullName).getItemInfo('name');1*$a} | %{$_.Name}
复制代码

TOP

本帖最后由 zaqmlp 于 2019-12-5 16:28 编辑
  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. $sa=New-Object -comObject Shell.Application;
  16. $fd=$sa.NameSpace(0);$v=0;
  17. for($i=0;$i -le 350;$i++){if($fd.GetDetailsOf($null, $i) -match '\b标题\b'){$v=$i;}};
  18. if($v -eq 0){write-host 'notmatch';exit;};
  19. $files=@(dir -liter $args[0]|?{('.mp3' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
  20. for($i=0;$i -lt $files.length;$i++){
  21.     $objFolder=$sa.Namespace($files[$i].Directory.FullName);
  22.     $objItem=$objFolder.ParseName($files[$i].Name);
  23.     $title=$objFolder.GetDetailsOf($objItem, $v).trim();
  24.     if($title -ne ''){
  25.         $n=$title.PadLeft(5,'0');
  26.         write-host ($files[$i].Name+' --> '+$n+'_'+$files[$i].Name);
  27.         mv -liter $files[$i].FullName ($files[$i].Directory.FullName+'\'+$n+'_'+$files[$i].Name);
  28.     };
  29. }
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

返回列表