【发布时间】:2021-08-14 07:18:23
【问题描述】:
我有一个格式为 D:%Artist%%Album%\Song.mp3 的音乐目录。从这里,我创建了一个脚本,提示输入艺术家文件夹,然后在剥离任何专辑文件夹后将所有 MP3 复制到具有相同名称的新文件夹中
D:\%Artist%\%Album%\Song.mp3 into D:\MP3s\%Artist%\Song.mp3
我真正想做的是重命名新位置中的所有歌曲文件,以包含专辑名称,后跟下划线。如果有歌曲在 Artist 根文件夹中,它应该在歌曲名称前加一个下划线,以表明它不在专辑文件夹中。
D:\%Artist%\%Album%\%Song% into D:\MP3s\%Artist%\%Album%_Song.mp3 OR D:\MP3s\%Artist%\_Song.mp3
以下代码是我用来将所有子文件夹中的所有歌曲放到一个文件夹中的代码,但我不确定如何为重命名过程设置 albun 名称。这是我当前的代码
SET /P Artist=What is the artist folder to copy?
pushd D:\Music\%Artist%
for /r %%a in (*.mp3) do (
COPY "%%a" "D:\Music\MP3s\%%~nxa"
)
popd
【问题讨论】:
-
%SONG$是目录名还是 .mp3 文件名?我应该将其读作D:\%Artist%\%Album%\%Song%,其中%SONG%可能是Shine.mp3? -
%Song% 应该被读取为文件名
-
使用合适的重命名工具github.com/75lb/renamer
-
@Lloyd 所以“适当的重命名工具”是指您编写的工具,而不是使用预装的操作系统提供的工具?
-
不,我不@KurtSchwob,我的意思是一个适当的重命名工具,而不是这里建议的未经测试的DOS脚本。如果你犯了错误,重命名文件是有风险的并且可能具有破坏性..
标签: cmd copy rename batch-rename