我不熟悉Windows命令提示符,因此很抱歉,这是一个简单的问题。我正在使用forfiles生成一个文件夹及其子目录中所有文件的列表,该列表还包括文件的上次修改日期和时间。这可以正常工作,但是对于某些文件,即使实际文件名中不包含此列表,列表也会在文件名中显示〜$。例如,该命令返回:
ExampleFolder1\ExampleFolder2\~$Examplefilename.docx 10/10/2010 10:10
何时返回
ExampleFolder1\ExampleFolder2\Examplefilename.docx 10/10/2010 10:10
这仅适用于打印列表中的某些文件。
此外,有时在运行forfiles时打印有〜$的文件是该文件夹中实际不存在的文件的名称,在某些情况下,它似乎是已打印的文件的副本。 forfile已运行,但修改的时间将有所不同。例如,forfile可能返回:
ExampleFolder1\ExampleFolder2\Examplefilename.docx 10/10/2010 10:10
ExampleFolder1\ExampleFolder2\~$Examplefilename.docx 11/11/2010 20:10
我只是想知道是否还有其他人遇到过这个问题?
我唯一的理论可能是返回已删除或剪切并移动到其他位置的文件的〜$文件名,但是我对命令提示符的了解有限,因此我不确定。
这是我用来打印列表的所有文件和子目录文件(不包括目录)的代码:
FORFILES /s /c "cmd /c if @isdir==FALSE echo @path @fdate @fdate"
理想情况下,我只想知道打印此类文件的原因。感谢您的帮助
答案 0 :(得分:2)
文件名中包含~$
的Microsoft Office文件称为"owner" files。这些文件是Office文件锁定机制的一部分,并且包含打开文件的用户的帐户名。这些文件通常被隐藏为“操作系统文件”,如果Office应用程序无法正确关闭,有时会被留下。
Microsoft Office应用程序可以通过以下方式向您显示此消息:
您可以通过以下方式在Windows资源管理器中显示这些文件:
Windows 7:
Windows 10:
打开文件夹选项对话框