gpt4 book ai didi

windows - 如何使用从当前名称中提取的子字符串重命名 Windows 文件

转载 作者:可可西里 更新时间:2023-11-01 10:33:11 26 4
gpt4 key购买 nike

我有一个使用以下约定命名的学术论文目录:

Author1-(Year)-Title.pdf

例如,

Jones-(2011)-XXX.pdf
Smith-(2002)-YYY.pdf
Johnson-(2015)-ZZZ.pdf

我想将它们重命名为

(2011)-Jones-XXX.pdf
(2002)-Smith-YYY.pdf
(2015)-Johnson-ZZZ.pdf

即从文件名中提取年份放在前面。

我试过下面的代码,没用

    Setlocal enabledelayedexpansion

Set "Year=2013"
Set "Replace="""

For %%a in (*.pdf) Do (
Set "NewName=(%year%)-%%~a"
Ren "%%a" "%NewName%-File:%Year%=%Replace%!"
)

Pause&Exit

最佳答案

如果 XXX 也包含连字符,我建议使用 tokens=1,2* 停止解析文件名的其余部分。
我还会删除括号,当年份排在首位时,无需进一步强调。

@Echo off
for /f "tokens=1-2* delims=-()" %%A in (
'Dir /b "*-(*)-*.pdf"'
) do Ren "%%A-(%%B)-%%C" "%%B-%%A-%%C"

示例输出

> dir /b
2002-Smith-YYY.pdf
2011-Jones-XXX.pdf
2015-Johnson-ZZZ.pdf

关于windows - 如何使用从当前名称中提取的子字符串重命名 Windows 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42253086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com