标题: 【已解决】需要写一个多选文件重命名的脚本。 [打印本页]
作者: 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
- @echo off&cd /d "%~dp0"
- set /p input=enter:
- set n=101
- :loop
- if "%~1" equ "" (goto :end)
- if not defined input (set "input=%~n1")
- echo;"%~1" --^> "%input%%n:~-2%%~x1"
- ren "%~1" "%input%%n:~-2%%~x1"
- set /a n+=1
- shift
- goto :loop
- :end
- pause
- exit
复制代码
作者: pd1 时间: 2022-11-30 16:25
如果文件个数超过99可以把12和20行的d2改d3 d4 等等- <# :
- @echo off
- set "args=%*"
- powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0' |Out-String|Invoke-Expression"
- pause
- #>
- $n=1
- $a=read-host "请输入文本"
- if ($a -eq ""){
- $env:args.split(" ")|%{
- $file=[System.IO.FileInfo]($_)
- $newname="{0}{1:d2}{2}" -f $file.basename,$n , $file.Extension
- ren $file $newname
- $n+=1
- }
- }
- else {
- $env:args.split(" ")|%{
- $file=[System.IO.FileInfo]($_)
- $newname="{0}{1:d2}{2}" -f $a,$n , $file.Extension
- ren $file $newname
- $n+=1
- }
- }
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |