Her klasördeki dosya adlarının listesini içeren bir txt dosyasını nasıl yankılayabilirim?


0

Diyelim ki A klasörü ve B klasörü var. A klasöründe A1 ve A2 dosyaları var. B klasörü B1 ve B2 dosyalarına sahiptir.

Her klasörde o klasördeki dosyaları listeleyen bir metin dosyası oluşturmak istiyorum. Bu nedenle, A1 ve A2 dosya adlarını listeleyen ve B için aynı olan A klasöründe fileA.txt dosyasını oluşturun.

Aşağıdakileri denedim ama işe yaramadı

for /d %%g in ("*") do (
    for /r %%y in ("*.mp4") do (
        echo file '%%y'
    ) > ./%%g/mylist.txt
) 

Herhangi bir yardım takdir edilmektedir


2
>>Dosyaya eklemek için kullanın . Tek bir >önceki içeriğin üzerine yazar, bu nedenle yalnızca son yazma devam eder.
LotPings,

@ LotPings çok teşekkür ederim. Bu beni bir adım daha ileri götürdü (güncelleştirilmiş betiğim aşağıda). Şimdi sorun, hem A Klasöründe hem de B Klasöründe oluşturulan dosyaların her birinin TÜM A ve B dosyalarının listesine sahip olmasıdır. Yalnızca A klasöründe oluşturulan mylist.txt dosyasındaki A dosyalarını ve B klasöründeki metin dosyasının B dosyalarını dahil etmek istiyorum. Herhangi bir öneri? Tekrar teşekkürler! for /d %%g in ("*") do ( for /r %%y in ("*.mp4") do ( echo file '%%y' >> ./%%g/mylist.txt ) )
joe_sh

Yanıtlar:


0

Bu, Komut İstemi'ni kullanarak elde etmek için çok basittir:

cd "\path\to\folder-A"
dir /b *.mp4 > fileA.txt

Anahtar /b, sadece çıplak dosya adlarının listelenmesine neden olacaktır.


Tavsiyen için teşekkürler, ama ihtiyacım olan şey bu değil. Çok sayıda klasör ve yeniden kullanılabilir bir komut dosyasında (dolayısıyla toplu iş dosyası) otomatikleştirmem gerekiyor. Bir toplu iş dosyasında bunu elde etmek için herhangi bir tavsiye takdir edilmektedir.
joe_sh

dirToplu komut dosyasında kullanımda sorun nedir ?
harrymc

0

%Base%Klasörden başlayarak bu toplu işlem, klasör yapısını yineler ve tek tırnak içine alınmış ve içine alınmış bulunan mylist.txttüm tür dosyaları içeren oluşturur .%ext%file

:: Q:\Test\2018\10\27\SO_1370390.cmd
@Echo off
Set "Base=X:\start\path"
Set "ext=.mp4"

for /R "%Base%" %%A in (.) do (
    ( for %%B in ("%%~fA\*%ext%") do Echo file '%%~fB'
    ) >"%%~fA\mylist.txt"
)

0

for /d /r . %%a in (*) do >"%%a\myList.txt" dir /b "%%a"

Her bir dizin için, aktif olarak aktif olan dizinden dirtekrarlı bir şekilde, verilen komutun sonucunu işlenen dizinin içindeki belirtilen dosyaya gönderin .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.