我是使用 Windows 命令提示符的新手,如果这是一个简单的问题,我深表歉意。我正在使用 forfiles 生成文件夹及其子目录中所有文件的列表,该列表还包括最后修改日期和时间的文件。这工作正常,但对于某些文件,列表将在文件名中打印一个 ~$,即使实际文件名不包含它。例如命令返回:
ExampleFolder1\ExampleFolder2\~$Examplefilename.docx 10/10/2010 10:10
什么时候返回
ExampleFolder1\ExampleFolder2\Examplefilename.docx 10/10/2010 10:10
这只发生在打印列表中的一些文件上。
此外,有时在运行 forfiles 时打印的带有 ~$ 的文件是文件夹中实际不存在的文件的名称,在某些情况下,它似乎是在运行时已打印的文件的副本forfiles 已运行,但修改时间应有所不同。例如 forfiles 可能会返回:
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"
理想情况下,我只想知道打印此类文件的原因。感谢您的帮助
最佳答案
文件名中包含 ~$
的 Microsoft Office 文件称为 "owner" files .这些文件是 Office 文件锁定机制的一部分,包含打开文件的用户的帐户名。这些文件通常隐藏为“操作系统文件”,如果 Office 应用程序未正确关闭,有时会被遗忘。
这就是 Microsoft Office 应用程序向您显示此消息的方式:
您可以通过以下方式在 Windows 资源管理器中显示这些文件:
Windows 7:
- 点击组织
- 点击文件夹和搜索选项
Windows 10:
- 点击文件
- 点击更改文件夹和搜索选项
打开文件夹选项对话框
- 点击查看标签
- 选择“显示隐藏的文件、文件夹和驱动器”
- 取消选中“隐藏 protected 操作系统文件(推荐)”
关于windows - 为什么 Windows 命令提示符 forfiles 会返回一些以 ~$ 开头的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56296917/