DIR за извличане на текстов дъмп на текстова директория заедно с файлови атрибути: Последно редактирано от Последно редактирано

Опитвам се да използвам командата dir, за да извлека структурата на директорията заедно с файлови атрибути като „Последна редакция от“ „Последна промяна“.

Това, което имам досега, е

dir /s /b DirPath > textfile.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, да получа текстов дъмп на структурата на директорията и да го запазя като текстов файл. Използвам следния код, за да постигна това. Извикване на Shell (cmd.exe /S /C & dir /s /b dirPath › текстов файл, vbNormalFocus). Кодът, който предоставихте, работи чудесно, но не съм сигурен как бих го модифицирал, за да пасне на моя VBA код. Вашата помощ е много ценена. - person runswmily; 09.04.2015