DIR для извлечения дампа текста текстового каталога вместе с атрибутами файла: Last Edited by Last Edited

Я пытаюсь использовать команду dir для извлечения структуры каталогов вместе с атрибутами файла, такими как «Последнее редактирование» «Последнее изменение».

То, что у меня есть до сих пор, это

каталог /s /b путь к каталогу > текстовый файл.txt

Я хотел бы использовать /b, так как мне не требуется ненужная информация заголовка.

Заранее спасибо.

С уважением


person runswmily    schedule 09.04.2015    source источник


Ответы (1)


Это самое близкое, что я могу придумать к вашему требованию:

for /f "delims=" %i in ('dir /s /b DirPath') do @echo %~ti,%i

Обратите внимание, что вы должны удвоить проценты при использовании этого в скрипте.

Он выполняет итерацию по всем файлам/каталогам в DirPath и печатает их отметку времени последнего изменения и имя файла/каталога в виде CSV.

Не уверен, что вы подразумеваете под «Кем последний раз редактировалось», я не думаю, что такие метаданные хранятся в Windows (или Unix?).


Редактировать: раньше я мало работал с VBS, но похоже, что это работает:

Set s = WScript.CreateObject("WScript.Shell")
s.Run("cmd /c (for /f ""delims="" %i in ('dir /s /b .') do @echo %~ti,%i)& pause")

Я добавил pause, чтобы всплывающее окно DOS оставалось активным (выполнил его через cscript test.vbs), чтобы я мог проверить вывод, но вы, очевидно, можете избавиться от этого, если перенаправляете вывод в файл.

person bgoldst    schedule 09.04.2015
comment
Спасибо за ваш ответ. В настоящее время я пытаюсь вызвать оболочку из VBA, получить текстовый дамп структуры каталогов и сохранить его в виде текстового файла. Я использую следующий код для достижения этого. Вызов оболочки (cmd.exe /S /C & dir /s /b dirPath › текстовый файл, vbNormalFocus). Код, который вы предоставили, прекрасно работает, но я не уверен, как бы я изменил его, чтобы он соответствовал моему коду VBA. Ваша помощь очень ценится. - person runswmily; 09.04.2015