我有以下bat文件,它将查看我目录中的每个子文件夹,并创建一个列出该子文件夹内容的m3u文件:
@echo off
for /d %%A in (*) do @if exist "%%~A*" (
for %%B in ("%%~A*") do @echo %%~nxB
) > "%%~A%%~nxA.m3u"
示例:我的Names目录有子文件夹Paul,Tom,Susan。Paul有文件a.txt,b.txt汤姆有文件c.txt,d.txtSusan有文件e.txt,f.txt
运行Names目录中的bat文件。它将创建:
Paul子文件夹中的Paul.m3u文件每个m3u文件都会列出该子文件夹的文件,每行一个文件。
我遇到的问题是,m3u文件还列出了m3u文件本身。我不想那样。
电流输出:
a.txt
b.txt
Paul.m3u
想要输出:
a.txt
b.txt
我认识到问题出在我的循环中,该循环没有排除.m3u文件扩展名,但我不确定如何实现这一点。有指针吗?
for %%B in ("%%~A*") do if "%%~nxB" neq "%%~nxA.m3u" @echo %%~nxB
[未经测试]
应该按照您的意愿执行操作,不包括正在创建的.mp3文件的name.ext部分。
注意,一旦执行了@echo off
,就不需要@
。