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