windows - 为什么 Windows 命令提示符 forfiles 会返回一些以 ~$ 开头的文件名?

标签 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 时打印的带有 ~$ 的文件是文件夹中实际不存在的文件的名称,在某些情况下,它似乎是在运行时已打印的文件的副本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 应用程序向您显示此消息的方式:

File In Use dialog

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

  1. Windows 7:

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

    Windows 10:

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

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

Folder Options dialog

关于windows - 为什么 Windows 命令提示符 forfiles 会返回一些以 ~$ 开头的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56296917/

相关文章:

powershell - 为什么在命令提示符和Powershell的底部有这么多的空格(回车)?

perl - 如何从 Perl 脚本输入/应答终端提示?

python - 在Python中,如果你返回一个字符串,它将显示在其周围的引号中,但如果你打印该字符串,它将不会显示在引号中。为什么?

c++ - 将 LPWST 转换或转换为 BSTR

python - Windows 中的 PyOpenGL glClearColor 错误,Linux 中正常

ant - 项目中不存在目标 "debug"

windows - 在 Windows 上更改 Git 提示符

windows - 在windows中查找内存映射对象的列表

c++ - 如何将 Windows 进程重置为以前的状态?

android - 微调器提示不显示