Batch file 批处理代码,用于打印“文件”中的内容列表;近期项目“;文件夹

Batch file 批处理代码,用于打印“文件”中的内容列表;近期项目“;文件夹,batch-file,printing,recent-file-list,Batch File,Printing,Recent File List,我正试图得到一个批处理代码来打印“最近的项目”文件夹中的每个文件(更多属性都可以,我只需要这两个)的修改日期和名称。我已经尝试了一些代码,但遗憾的是它无法工作,任何方向都将不胜感激。最近的项目位于此处: %userprofile%\Appdata\Roaming\Microsoft\Windows\Recent 但它只包含指向最近打开的项目的链接(.lnk文件)。 所以 将列出它们,但很难区分文件和目录 以下是使用WMIC查询获取更多信息的方法(可能比较慢): 考虑到所有类似聊天的讨论: 1.获

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

最近的项目位于此处:

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

但它只包含指向最近打开的项目的链接(
.lnk
文件)。 所以

将列出它们,但很难区分文件和目录

以下是使用WMIC查询获取更多信息的方法(可能比较慢):

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

1.
获取“最近”文件夹:

然后您可以将该
@echo G=“%%G”H=“%%H”I=“%%I”
替换为
设置为“recentfldr=%%I”
并继续执行
目录“%recentfldr%\”

2.
等待
dir
命令结束(随意添加
dir
的开关,但请注意转义重定向操作符
^>
):

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

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


祝你好运

dir/T:W“指向文件夹的完整路径”
。这里使用
/T
开关,我们可以强制时间字段显示(并用于排序):
/T:C
创建、
/T:A
上次访问、
/T:W
上次写入(默认)。可接受的
/TW
语法模式(缺少冒号)而不是
/T:W
无法使其工作,可能是我做错了什么。我的完整代码如下所示@echo OFF dir/T:W“C:\Users\White Sign Company\AppData\Roaming\Microsoft\Windows\Recent”:结束退出
exit
也将关闭批处理和命令窗口。使用
退出/B
暂停并退出/B
。您还可以将输出重定向到文件以供进一步使用:
dir/T:W“full\u path\u to\u folder”>afile.txt
。有
afile.txt
可能是完整路径,例如
%temp%\afile.txt
谢谢你的工作表想法,我设法让它调出信息,但是我如何让它打印它呢?我尝试使用“print”,但这只会使它在一个onRedirect输出上转到一个文件,例如
dir>“%temp%\afile.txt”
。如果
print[/D:device]“%temp%\afile.txt”
命令可能会有所帮助,但打印设备选项仅限于本地打印机(
LPTx
COMx
,默认
PRN:
)或共享名(
\\servername\print\u share
)的网络打印机,或
记事本“%temp%\afile.txt”
,谢谢,但这只会让弹出窗口快速出现,然后关闭,非常非常快速。我错过了什么吗?@Jwhite尝试直接在命令提示符下执行命令,或者如果其在批处理文件中设置了
PAUSE
,则在结尾处执行命令。确定。批处理文件似乎必须位于“最近使用的项目”文件夹中才能正常工作,而该文件不允许这样做。当程序运行时,我收到以下消息:C:\users\white sign company\appdata\romaing\microsoft\windows>dir/o:d/t:C:\users\white sign company\appdata\romaing\microsoft\windows\recent系统找不到指定的路径。@Jwhite-不需要在那里。。。用引号写上浴盆,确保一切都会好起来。我想让它把所有的东西都写出来,但我怎样才能把它打印出来呢?尝试使用/p和print,但这只是让它一遍又一遍地运行代码。
dir /o:d /t:c   "%userprofile%\Appdata\Roaming\Microsoft\Windows\Recent"
WMIC DATAFILE WHERE "PATH='\\Users\\username\\Appdata\\Roaming\\Microsoft\\Windows\\Recent\\'  " GET LastAccessed, LastModified, Name, FileSize
`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"` 
start "" /wait cmd /C dir /s "%recentfldr%\" ^> "%temp%\afile.txt"