Создать текстовый файл в каждой подпапке

Я использую Windows Server 2003. У меня есть каталог, содержащий сотни подпапок. Я хочу автоматически создать текстовый файл в каждой подпапке, в котором будут перечислены все файлы в этой подпапке. В некоторых папках используются специальные/китайские символы. Как я могу сделать это с помощью CMD? или любой другой язык или инструмент


person Ruriko    schedule 19.10.2012    source источник
comment
Это возможно, но код ужасно ужасен. Почему не WScript (VBS)?   -  person krlmlr    schedule 19.10.2012
comment
Ну, любой язык подходит, так что можете ли вы сказать мне код? или инструмент для использования   -  person Ruriko    schedule 19.10.2012


Ответы (2)


Использование партии:

@echo off
chcp 65001 >nul
for /r "C:\your\dir" %%d in (.) do dir /a:-d "%%~fd" > "%%~dpnd\dirlist.txt"
person Ansgar Wiechers    schedule 19.10.2012

FileSystemObject Windows Scripting содержит все, что вам нужно, но вам нужно будет написать немного кода VBScript, чтобы соединить его вместе:

  1. Создайте и назначьте экземпляр FileSystemObject, используя что-то вроде Set fso = CreateObject("Scripting.FileSystemObject").

  2. For Each Folder In fso.GetFolder(...).SubFolders перебирает все подпапки. Для глубокой итерации используйте рекурсию.

  3. Существует также Files, в котором перечислены все файлы Folder.

  4. CreateTextFile делает то, что обещает, а также имеет опцию юникода.

Если вам не нужна глубокая итерация, решение CMD, вероятно, будет короче, хотя я подозреваю, что вы столкнетесь с проблемами Unicode.

person krlmlr    schedule 19.10.2012
comment
Я ничего не знаю, нет. Для меня это выглядит слишком специализированным. OTOH, результирующий VBScript представляет собой что-то между 5 и 8 строками кода. Возможно, вам будет полезно приобрести некоторую практику программирования или найти кого-нибудь, кто готов склеить это воедино и ответить на потенциальные запросы на изменение от вашего имени... - person krlmlr; 19.10.2012