1

我有几个 mp3 文件具有外部站点名称,例如 www.mymusic.com 并且该名称将位于 mp3 文件的开头/结尾

例子:

  • 01 - {www.mymusic.com}你好你好.mp3,
  • 02 - {www.mymusic.com}海海.mp3,
  • 03 - 你好男孩 [www.musicworld.in].mp3,
  • 04 - 你好女孩 [www.musicworld.in].mp3

所以我想要一个(windows)批处理脚本,它要求我输入一个带有特殊字符的名称,比如“[www.musicworld.in]”,并将其从目录中存在的多个 mp3 文件中删除。

还给我一个如何使用/运行代码的例子。

请帮忙 :)

提前致谢

4

2 回答 2

3

代码立即生效!

@echo off &SETLOCAL enabledelayedexpansion
SET /p "word=enter word to remove: "
IF "%word%"=="" GOTO :EOF
FOR /f "delims=" %%a IN ('dir /a-d /b "*%word%*.mp3"') DO (
    SET "fname=%%~na"
    SET "fname=!fname:%word%=!"
    IF NOT "!fname!"=="" REN "%%~a" "!fname!%%~xa"
)
于 2013-07-05T07:00:40.893 回答
0

这是一个可以帮助您的批处理文件 - 它使用来自http://www.dostips.com/forum/viewtopic.php?f=3&t=3855的名为 repl.bat 的帮助批处理文件

目前它只回显 REN 命令,echo如果您对结果满意,请删除。这样做的一个好处是!字符不是问题,因为它们是延迟扩展。

@echo off
set /p "var=Enter the text to remove: "
for /f "delims=" %%a in ('dir *.mp3 /b /a-d ^|repl "^(.*)%var%(.*)" "ren \x22$&\x22 \x22$1$2\x22" x ') do echo %%a
于 2013-07-05T07:47:07.517 回答