PDA

Показать полную графическую версию : [решено] Как с помощью bat-ника записать названия папок в текстовый файл?


Nun-Nun
23-02-2010, 17:20
Подскажите, плиз, по сабжу.
Заранее прошу сильно не пинать малограмотного в части bat-ников.

gora
23-02-2010, 17:50
@Echo Off
:: путь к каталогу с исследуемыми папками
Set folder=c:\Windows
Del /q listfolder.txt 2>Nul
For /F "UseBackQ Delims=" %%I In (`Dir "%folder%" /AD /B /ON 2^>Nul`) Do Echo %%I>>listfolder.txt
Pause>Nul

Nun-Nun
23-02-2010, 18:10
gora,

Огромное спасибо! Всё работает!

Если не сложно, поясните, как сделать, чтобы создаваемый файл был в нужной кодировке, например, не в 866, а в 1251, т.е. чтобы при его просмотре русские названия папок не отображались абракадаброй?

gora
23-02-2010, 18:36
как сделать, чтобы создаваемый файл был в нужной кодировке, например, не в 866, а в 1251 »
Добавьте второй строкой:ChCp 1251>Nul

Nun-Nun
23-02-2010, 19:05
gora,

Прошу прощения, не понял, куда ChCp 1251>Nul в Вашем скрипте нужно добавить. Если ставлю следующей строчкой после For, то файл всё равно получается в кодировке 866. :(

gora
23-02-2010, 19:07
Второй строкой - это так:@Echo Off
ChCp 1251>Nul
:: путь к каталогу с исследуемыми папками
...

Nun-Nun
23-02-2010, 19:21
gora,

ОК, спасибо! Только ChCp 1251>Nul пришлось поставить непосредственно перед строчкой For, иначе не работает.

Nun-Nun
23-02-2010, 19:54
А возможно ли сделать, чтобы каждый раз не редактировать bat-ник при смене целевой папки, а просто чтобы закинуть его в нужную папку и он при запуске автоматом считывал все подпапки, расположенные в ней?

gora
23-02-2010, 19:59
просто чтобы закинуть его в нужную папку и он при запуске автоматом считывал все подпапки, расположенные в ней? »
@Echo Off
ChCp 1251>Nul
Del /q listfolder.txt 2>Nul
For /F "UseBackQ Delims=" %%I In (`Dir /AD /B /ON 2^>Nul`) Do Echo %%I>>listfolder.txt
Pause>Nul

Nun-Nun
23-02-2010, 20:15
Огромное спасибо! Работает!




© OSzone.net 2001-2012