批处理文件变量中的句点

时间:2014-12-07 07:02:15

标签: variables batch-file lame

我正在为Windows 7 64位上的LAME mp3编码制作批处理文件。我使用了从这个网站获得的一些代码作为基础,然后尝试添加一点,以便我可以告诉它用艺术家和专辑名称进行编码。我撕了一些CD,所以它们最终会像xxx\artist\album\songs.wav一样嵌套。这是完整的代码:

for %%q in (.) do set Album=%%~nq
for %%x in (..) do set Artist=%%~nx
for %%i in (*.wav) do "D:\Program Files\lame\lame.exe" -V1 --
vbr-old --tl "%Album%" --ta "%Artist%" "%%i" "%%~ni.mp3"

要使用它,我将批处理文件复制到歌曲中的专辑文件夹中。它适用于某些专辑,但当我尝试将它用于“M.I.A”的专辑时,它将艺术家录制为“M.I”。期间有问题吗?如果有,为什么它让一个通过但不通过另一个?

1 个答案:

答案 0 :(得分:1)

" M.I.A"被视为文件名" M.I"扩展名为" .A'

尝试将~nq替换为~nxq,将~nx替换为~nxx

%%~nxq表示name and extension of %%q%%~nq表示name only of %%q