Как с помощью bat-ника записать названия папок в текстовый файл?
Подскажите, плиз, по сабжу.
Заранее прошу сильно не пинать малограмотного в части bat-ников.
|
Код:
@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
|
gora,
Огромное спасибо! Всё работает!
Если не сложно, поясните, как сделать, чтобы создаваемый файл был в нужной кодировке, например, не в 866, а в 1251, т.е. чтобы при его просмотре русские названия папок не отображались абракадаброй?
|
Цитата:
Цитата Nun-Nun
как сделать, чтобы создаваемый файл был в нужной кодировке, например, не в 866, а в 1251 »
|
Добавьте второй строкой:
|
gora,
Прошу прощения, не понял, куда ChCp 1251>Nul в Вашем скрипте нужно добавить. Если ставлю следующей строчкой после For, то файл всё равно получается в кодировке 866. :(
|
Второй строкой - это так:
Код:
@Echo Off
ChCp 1251>Nul
:: путь к каталогу с исследуемыми папками
...
|
gora,
ОК, спасибо! Только ChCp 1251>Nul пришлось поставить непосредственно перед строчкой For, иначе не работает.
|
А возможно ли сделать, чтобы каждый раз не редактировать bat-ник при смене целевой папки, а просто чтобы закинуть его в нужную папку и он при запуске автоматом считывал все подпапки, расположенные в ней?
|
Цитата:
Цитата Nun-Nun
просто чтобы закинуть его в нужную папку и он при запуске автоматом считывал все подпапки, расположенные в ней? »
|
Код:
@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
|
Огромное спасибо! Работает!
|
Время: 00:30.
© OSzone.net 2001-