我有以下 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 Tom 有檔案 c.txt、d.txt Susan 有檔案 e.txt、f.txt
Names 目錄中的 bat 檔案運行。它將創建:
- Paul 子檔案夾中的 Paul.m3u 檔案
- Tom 子檔案夾中的 Tom.m3u 檔案
- Susan 子檔案夾中的 Susan.m3u 檔案
每個 m3u 檔案都將列出該子檔案夾的檔案,每行一個檔案。
我遇到的問題是 m3u 檔案也列出了 m3u 檔案本身。我不想要那個。
電流輸出:
a.txt
b.txt
Paul.m3u
想要的輸出:
a.txt
b.txt
我認識到問題出在我的回圈中,該回圈不排除 .m3u 檔案擴展名,但我不確定如何實作。任何指標?
uj5u.com熱心網友回復:
for %%B in ("%%~A\*") do if "%%~nxB" neq "%%~nxA.m3u" @echo %%~nxB
[未經測驗]
應該做你想做的事,不包括正在創建的 .mp3 檔案的 name.ext 部分。
請注意,@一旦執行了 s,就不需要 s @echo off。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/452910.html
