删除名称列表的一部分

用户123

我有一些文件,每个文件都有不同的名称,但每个文件的末尾都具有相同的“语句”,如下所示:

flower-statement.mp3
leave-statement.mp3 
ball-statement.mp3
goal-statement.mp3

所以我想删除这个: -statement

那可能吗?

IT暴徒忍者

为什么不像这样,没有任何特殊程序就只能批量处理呢?根据我的测试,这将完全按照您要查找的内容进行操作,即解析-statement文件名一部分,然后重命名每个文件名,而不会离开文件的其他部分。这将适用.mp3于特定文件夹中的所有文件。

在下面的示例中,我C:\Users\User\Desktop\Test\*.mp3将您的文件夹名称放在该位置。将其保存到文本文件,然后重命名为batch.cmd或类似名称。然后只需双击运行它即可对该文件夹中的文件进行重命名,从而解析出其中的-statement一部分。

您也可以使该脚本隐式运行,以运行将其复制到的目录,并仅从*.mp3那里使用而不是完整路径。

显式脚本(指定* .mp3所在的目录)

@ECHO ON

FOR %%A IN ("C:\Users\User\Desktop\Test\*.mp3") DO (
    CALL :RenameFiles "%%~A" "%%~NXA"
)
GOTO EOF

:RenameFiles
SET fname=%~2
SET renname=%fname:-statement=%
REN "%~1" "%renname%"
GOTO EOF

隐式脚本(复制到* .mp3所在的目录,然后从该目录运行)

@ECHO ON

FOR %%A IN ("*.mp3") DO (
    CALL :RenameFiles "%%~A" "%%~NXA"
)
GOTO EOF

:RenameFiles
SET fname=%~2
SET renname=%fname:-statement=%
REN "%~1" "%renname%"
GOTO EOF

在文件扩展名之前将某些内容添加到重命名文件的末尾

(更改fpartmp3path匹配您需要的内容以进行使用。这fpart是您需要添加的内容,mp3path也是这些文件所在的MP3文件。)

注意: 这仍假定-statement要删除文件名中的MP3文件

专有脚本(带有解析文件名字符)

@ECHO ON

SET mp3path=C:\Users\User\Desktop\Test
SET fpart=_something

FOR /F %%A IN ('DIR /B "%mp3path%\*.mp3"') DO (
    CALL :RenameFiles "%%~FPA" "%%~NA" "%%~XA"
)
GOTO EOF

:RenameFiles
SET fname=%~2
SET ext=%~3
SET renname=%fname:-statement=%
REN "%~1" "%renname%%fpart%%ext%"
GOTO EOF

EXCPLICIT SCRIPT(不分析,仅添加文件名字符)

@ECHO ON

SET mp3path=C:\Users\User\Desktop\Test
SET fpart=_something

FOR /F %%A IN ('DIR /B "%mp3path%\*.mp3"') DO (
    CALL :RenameFiles "%%~FPA" "%%~NA" "%%~XA"
)
GOTO EOF

:RenameFiles
SET fname=%~2
SET ext=%~3
REN "%~1" "%fname%%fpart%%ext%"
GOTO EOF

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章