Windows 命令获取文件的所有信息/属性

Dhi*_*mar 6 windows cmd.exe

是否有任何命令在 Windows 上获取文件的所有属性,包括其编码格式(这条信息对我来说非常重要)?我正在寻找类似于 Linux 中的 stat 的东西

我更喜欢使用可在命令提示符或批处理脚本中使用的命令,尽管我知道 Powershell 可能会这样做。

Eko*_*lam 11

您可以使用 WMIC 功能来做到这一点。

例如 :

F:>> wmic datafile where Name="anyfile.txt"
Run Code Online (Sandbox Code Playgroud)

获取有关 anyfile.txt 的所有信息。您也可以使用 CMD 和 powershell 来使用 WMIC。并且您可以使用 GET 参数来获取指定的信息。

例如:

F:>> wmic datafile where Name="F:\\ekojs.txt" get Description,Path,Status,Version
Run Code Online (Sandbox Code Playgroud)

编辑: 在检查 WMIC 功能之前尝试使用它:

F:>> wmic datafile /?
Run Code Online (Sandbox Code Playgroud)

获取有关如何使用它的帮助。

命令 :

wmic datafile where Name="F:\\ekojs.txt" get Description,Name,FileType >> eko_wmic.txt
Run Code Online (Sandbox Code Playgroud)

eko_wmic.txt 中的输出:

Description   FileType       Name          
f:\ekojs.txt  Text Document  f:\ekojs.txt  
Run Code Online (Sandbox Code Playgroud)

希望这会帮助你..

  • 我不断收到错误“没有可用的实例” (6认同)
  • @DhiwakarRavikumar:我也遇到了“无可用实例”错误。我通过用一个额外的 \ 转义所有的反斜杠来对它进行处理。 (2认同)

Fox*_*loy 5

以之前的答案为基础。您可以用来wmic datafile获取有关文件的信息,但您必须提供完整路径并将斜杠加倍,如下所示

wmic datafile where Name="F:\\anyfile.txt"
Run Code Online (Sandbox Code Playgroud)

这会在控制台中造成难以阅读的混乱,正如您将看到的:

wmic 是一种渲染数据的好方法

但是,如果将其通过管道传输到文本文件中,它会非常清晰

wmic datafile where Name="F:\\anyfile.txt" >> fileprops.txt
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

幸运的是,wmic可以将信息格式化为列表,然后它实际上非常有用。

wmic datafile where Name="F:\\anyfile.txt" list /format:list
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

然后,您可以仅为简化视图提供这些属性,请注意,您必须删除list关键字

>wmic datafile where Name="G:\\ipcamera.log" get Hidden,FileSize,Name  /format:list


FileSize=20
Hidden=FALSE
Name=G:\ipcamera.log
Run Code Online (Sandbox Code Playgroud)

一件小事,wmic 是最终成为 PowerShell 的基础!