Board logo

标题: 【已解决】需要写一个多选文件重命名的脚本。 [打印本页]

作者: ahern    时间: 2022-11-30 15:23     标题: 【已解决】需要写一个多选文件重命名的脚本。

本帖最后由 ahern 于 2022-11-30 16:39 编辑

具体报酬:30元人民币。
支付方式:皆可。
联系方式:皆可。
需求描述:

1.把需要重命名的文件拖放到bat文件上执行(支持多个文件拖放)。

2.然后窗口输入文本,如果有输入文本的话,新文件名就按照 “输入的文本” + “序号” 。

例如输入“测试”,则 “a.jpg        b.jpg       c.jpg ”  >> “测试01.jpg         测试02.jpg      测试03.jpg ”

3. 如果没有输入文本的话,新文件名就按照“原文件名 ”+ “序号”。

例如不输入文本,则 “a.jpg         b.jpg        c.jpg ”  >> “a01.jpg       b02.jpg        c03.jpg”

拖动文件到bat执行,应该可以参考这个链接的6L
http://www.bathome.net/viewthrea ... 0%B5%C4%CE%C4%BC%FE
作者: zaqmlp    时间: 2022-11-30 15:56

  1. @echo off&cd /d "%~dp0"
  2. set /p input=enter:
  3. set n=101
  4. :loop
  5. if "%~1" equ "" (goto :end)
  6. if not defined input (set "input=%~n1")
  7. echo;"%~1" --^> "%input%%n:~-2%%~x1"
  8. ren "%~1" "%input%%n:~-2%%~x1"
  9. set /a n+=1
  10. shift
  11. goto :loop
  12. :end
  13. pause
  14. exit
复制代码

作者: pd1    时间: 2022-11-30 16:25

如果文件个数超过99可以把12和20行的d2改d3   d4   等等
  1. <# :
  2. @echo off
  3. set "args=%*"
  4. powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0' |Out-String|Invoke-Expression"
  5. pause
  6. #>
  7. $n=1
  8. $a=read-host "请输入文本"
  9. if ($a -eq ""){
  10. $env:args.split(" ")|%{
  11. $file=[System.IO.FileInfo]($_)
  12. $newname="{0}{1:d2}{2}" -f $file.basename,$n , $file.Extension
  13. ren $file $newname
  14. $n+=1
  15. }
  16. }
  17. else {
  18. $env:args.split(" ")|%{
  19. $file=[System.IO.FileInfo]($_)
  20. $newname="{0}{1:d2}{2}" -f $a,$n , $file.Extension
  21. ren $file $newname
  22. $n+=1
  23. }
  24. }
复制代码





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