Пакетный код, который будет печатать список того, что находится в папке "Последние элементы"

Я пытаюсь получить пакетный код для печати только Дата изменения и Имя каждого файла (больше свойств в порядке, мне просто нужны эти два) в папке "Недавние элементы". Я пробовал несколько кодов, но, к сожалению, это не будет работать, любое направление будет с благодарностью.

2 ответа

Решение

Последние пункты находятся здесь:

%userprofile%\Appdata\Roaming\Microsoft\Windows\Recent

Но он содержит только ссылки (.lnk файлы) к недавно открытым элементам. Так

dir /o:d /t:c   "%userprofile%\Appdata\Roaming\Microsoft\Windows\Recent"

Перечислю их, но будет сложно отличить файлы от каталогов.

Вот как вы можете получить больше информации с помощью запроса WMIC (может быть медленным):

WMIC DATAFILE WHERE "PATH='\\Users\\username\\Appdata\\Roaming\\Microsoft\\Windows\\Recent\\'  " GET LastAccessed, LastModified, Name, FileSize

Принимая во внимание все обсуждения в чате:

1. Чтобы получить "недавнюю" папку:

`For /F "tokens=1,2*" %%G in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v recent ^|Find /I "recent"') do @echo G="%%G" H="%%H" I="%%I"` 

и тогда вы могли бы заменить это @echo G="%%G" H="%%H" I="%%I" с set "recentfldr=%%I" и продолжить с dir "%recentfldr%\" и т.п.

2. Ждать пока dir команда заканчивается (добавить переключатели для dir ad libitum, но примечание ускользнуло от оператора перенаправления ^>):

start "" /wait cmd /C dir /s "%recentfldr%\" ^> "%temp%\afile.txt"

3. Чтобы отправить текстовый файл на принтер по умолчанию:

%SystemRoot%\system32\NOTEPAD.EXE /p "%temp%\afile.txt"

Удачи!

Другие вопросы по тегам