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

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

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

尽管我知道使用 Powershell 也可以实现,但我还是更喜欢使用可以在命令提示符或批处理脚本中使用的命令。

答案1

您可以使用 WMIC 功能来执行此操作。

例如 :

F:>> wmic datafile where Name="anyfile.txt"

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

例如:

F:>> wmic datafile where Name="F:\\ekojs.txt" get Description,Path,Status,Version

编辑 : 尝试使用这个来检查 WMIC 功能:

F:>> wmic datafile /?

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

命令 :

wmic datafile where Name="F:\\ekojs.txt" get Description,Name,FileType >> eko_wmic.txt

eko_wmic.txt 中的输出:

Description   FileType       Name          
f:\ekojs.txt  Text Document  f:\ekojs.txt  

希望这会对你有帮助。

答案2

以上一个答案为基础。您可以使用它wmic datafile来获取有关文件的信息,但必须提供完整路径像这样将斜线加倍

wmic datafile where Name="F:\\anyfile.txt"

正如您所看到的,这会使控制台变得难以阅读:

wmic 真是一个呈现数据的好方法

但是如果你把它导入到文本文件中,它就很容易读懂了

wmic datafile where Name="F:\\anyfile.txt" >> fileprops.txt

在此处输入图片描述

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

wmic datafile where Name="F:\\anyfile.txt" list /format:list

在此处输入图片描述

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

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


FileSize=20
Hidden=FALSE
Name=G:\ipcamera.log

一点小知识,wmic 是最终成为 PowerShell 的基础!

答案3

您可以使用任何能够使用 COM 对象的脚本语言(例如 vbscript 和 powershell)通过 Shell.Application 对象访问文件的扩展属性(标题、持续时间、帧速率等)。遗憾的是,cmd 没有直接访问 Shell 对象的方法,您必须借助其他脚本语言才能访问 Shell 对象。

从 cmd 提示符窗口运行以下命令将以 100ns 为单位(而不是毫秒)显示视频文件的持续时间。

PowerShell -Command "$FilePath='C:\Videos\Test.mp4'; Write-Host ((New-Object -COMObject Shell.Application).NameSpace((Split-Path -Parent -Path $FilePath))).ParseName((Split-Path -Leaf -Path $FilePath)).ExtendedProperty('System.Media.Duration')"

有关该命令的其他信息,请访问在 PowerShell 中枚举文件属性

答案4

只需花两天时间尝试通过脚本或命令行编写 Windows 文件资源管理器中使用的评级。阅读很容易,请参阅其他答案,编写则是另一回事。最后找到了一个具有 GUI 但也可以从命令行使用的工具。 Nirsoft 的 PropertySystemView

示例:将 mp4 的评级设置为最低值

PropertySystemView.exe /SetProperty "d:\test.mp4" "System.Rating" 1

其他一些例子:

Export the list of all properties of 1.mp4 file into csv file
PropertySystemView.exe /Filename "c:\temp\1.mp4" /scomma "c:\temp\mp4_properties.csv"
Export the list of all properties on your system into html5 file
PropertySystemView.exe /AllProperties /shtml "c:\temp\all_system_properties.html"
Set the 'Media Created' date/time of single .mp4 file.
PropertySystemView.exe /SetProperty "c:\temp\1.mp4" "System.Media.DateEncoded" "2018/11/23:08:10:30.000"
Set the 'Media Created' date/time of all .mp4 files on c:\myfiles folder
PropertySystemView.exe /SetProperty "c:\myfiles\*.mp4" "System.Media.DateEncoded" "2015/10/15:00:00:00.000"
Copy the value of System.DateCreated property into the System.Media.DateEncoded property
PropertySystemView.exe /CopyProperty "C:\temp\1.mp4" System.DateCreated System.Media.DateEncoded
Remove the comment from all .mp4 files on c:\myfiles folder
PropertySystemView.exe /RemoveProperty "c:\myfiles\*.mp4" "System.Comment"
Set the 'Date Taken' value of all .jpg files on c:\pictures folder
PropertySystemView.exe /SetProperty "c:\pictures\*.jpg" "System.Photo.DateTaken" "2019/11/01:10:00:00.000"
Set the last saved date of the specified Excel file:
PropertySystemView.exe /SetProperty "c:\temp\myfile.xlsx" "System.Document.DateSaved" "2019/10/20:11:22:33.000"
Set the 'Content Created' date/time of the specified Excel file:
PropertySystemView.exe /SetProperty "c:\temp\myfile.xlsx" "System.Document.DateCreated" "2019/01/31:22:59:50.000"
Set the authors of all Excel files on c:\myfiles folder:
PropertySystemView.exe /SetProperty "c:\myfiles\*.xlsx" "System.Author" "NirSoft"
Set the 'Last Saved By' value of all Excel files on c:\myfiles folder:
PropertySystemView.exe /SetProperty "c:\myfiles\*.xlsx" "System.Document.LastAuthor" "NirSoft"
Set the title of Excel file:
PropertySystemView.exe /SetProperty "c:\myfiles\1.xlsx" "System.Title" "This is my Excel file"
Set the 'Last Saved By' value of MS-Word file:
PropertySystemView.exe /SetProperty "c:\myfiles\mydoc.docx" "System.Document.LastAuthor" "NirSoft"
Set the System.AppUserModel.ID property of a window that its handle is 010C0A35 to MyWindow
PropertySystemView.exe /SetPropertyWindow 010C0A35 "System.AppUserModel.ID" "MyWindow"
Open the location of the specified .jpg file in Google Maps:
PropertySystemView.exe /Filename "C:\temp\20200719_090250.jpg" /OpenGoogleMaps

相关内容