4

我只是决定学习一小批。

所以为了做一些有用的事情,我决定创建一个脚本来组织我的音乐。它们都是这种格式:

乐队(专辑) - TrackNumber - TrackName

我希望我的脚本创建一个带有乐队名称的文件夹,并在其中创建一个包含 albuns 名称的文件夹。所以我需要使用文件名,但我不知道如何使用 FINDSTR 或任何其他方法来获取“(”之前和括号之间的字符串。我该怎么做?

4

1 回答 1

3

这里有一些很好的资源可以帮助您:

Technet \ DosTips \ SS64 \ Rob van de Woude \ ComputerHope

这是一个如何解析您列出的字符串的示例。请注意,如果乐队、专辑或曲目名称中有空格,则此示例将不起作用。

for /f "delims=()- " %%A in ("Band (Album) - TrackNumber - TrackName") do (
    echo Band = "%%~A"
    echo Album = "%%~B"
    echo TrackNumber = "%%~C"
    echo TrackName = "%%~D"
)

输出:

Band = "Band"
Album = "Album"
TrackNumber = "TrackNumber"
TrackName = "TrackName"

但是,此示例将通过不将空格用作分隔符来处理空格。不幸的是,这意味着不会从结果中删除空格。

for /f "delims=()-" %%A in ("Band Name (Album) - Track Number - Track Name") do (
    echo Band = "%%~A"
    echo Album = "%%~B"
    echo TrackNumber = "%%~C"
    echo TrackName = "%%~D"
)

输出:

Band = "Band Name "
Album = "Album"
TrackNumber = " Track Number "
TrackName = " Track Name"

可以从字符串中修剪空格,但我会让你学习这种技术:) 提示,请参阅上面的链接。

于 2013-01-21T03:08:48.330 回答