Board logo

标题: [文本处理] 如何识别文件名中指定字符并在其后重命名添加创建日期和时间? [打印本页]

作者: bath_2614588    时间: 2019-8-29 09:38     标题: 如何识别文件名中指定字符并在其后重命名添加创建日期和时间?

大疆输出的文件通常都会出现重名的情况,我想通过批处理的方式将大疆的文件名
重命名为“DJI_0001.mp4”===>“DJI_00001_201908290935”
例如能识别“DJI”然后在整个文件名最后添加一个获取的创建日期时间码“_201908290935”解决重名问题
这样能解决大量重名情况,希望大神指点迷津
作者: zaqmlp    时间: 2019-8-29 13:12

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. powershell -NoProfile -ExecutionPolicy bypass ^
  7.     $files=@(dir^|?{($_.BaseName -match '^^DJI((?!_\d{14}$).)*$') -and ($_ -is [System.IO.FileInfo])});^
  8.     for($i=0;$i -lt $files.count;$i++){^
  9.         $dt=$files[$i].CreationTime.toString('_yyyyMMddHHmmss');^
  10.         $newname=$files[$i].BaseName+$dt+$files[$i].Extension;^
  11.         write-host ($files[$i].Name+' --^> '+$newname);^
  12.         mv -liter $files[$i].FullName ($files[$i].Directory.FullName+'\'+$newname);^
  13.     };
  14. echo;%info%
  15. pause
  16. exit
复制代码

作者: 窄口牛    时间: 2019-8-29 15:49

我觉得应该是复制的时候复制到时间的目录里。




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