为什么Windows命令提示符forfiles返回一些以〜$开始的文件名?

时间:2019-05-24 17:09:14

标签: windows command-prompt prompt forfiles

我不熟悉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"

理想情况下,我只想知道打印此类文件的原因。感谢您的帮助

1 个答案:

答案 0 :(得分:2)

文件名中包含~$的Microsoft Office文件称为"owner" files。这些文件是Office文件锁定机制的一部分,并且包含打开文件的用户的帐户名。这些文件通常被隐藏为“操作系统文件”,如果Office应用程序无法正确关闭,有时会被留下。

Microsoft Office应用程序可以通过以下方式向您显示此消息:

File In Use dialog

您可以通过以下方式在Windows资源管理器中显示这些文件:

  1. Windows 7:

    1. 点击组织
    2. 点击文件夹和搜索选项

    Windows 10:

    1. 点击文件
    2. 点击更改文件夹和搜索选项
  2. 打开文件夹选项对话框

  3. 点击查看标签
  4. 选择“ 显示隐藏的文件,文件夹和驱动器
  5. 取消选中“ 隐藏受保护的操作系统文件(推荐)

Folder Options dialog