0

我正在尝试获取一个批处理代码来打印“最近项目”文件夹中的每个文件的修改日期和名称(更多属性都可以,我只需要这两个)。我已经尝试了一些代码,但遗憾的是它不起作用,任何方向都将不胜感激。

4

2 回答 2

0

最近的项目位于此处:

%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
于 2014-12-02T15:29:46.040 回答
0

考虑到所有类似聊天的讨论:

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 随意添加开关,但注意转义重定向运算符^>):

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

3.要将文本文件发送到默认打印机:

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

祝你好运!

于 2014-12-02T21:54:54.023 回答