Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 获取路径上图像文件的创建日期_Powershell_Wmic - Fatal编程技术网

Powershell 获取路径上图像文件的创建日期

Powershell 获取路径上图像文件的创建日期,powershell,wmic,Powershell,Wmic,我必须以毫秒为单位获得保存在文件夹中的图像文件的创建时间(大约4500个文件),以评估望远镜仪器设置中的错误和延迟。普通文件属性仅以秒为单位给出时间,但WMIC给出了更精确的时间。我可以使用 wmic datafile where "Name=''C:\\Users\\...\\test\\test.fit'" get creationdate 但当我更改where子句以获取所有文件的creationdate时,我要么得到无效查询,要么没有找到实例。我使用以下命令: wmic datafile

我必须以毫秒为单位获得保存在文件夹中的图像文件的创建时间(大约4500个文件),以评估望远镜仪器设置中的错误和延迟。普通文件属性仅以秒为单位给出时间,但WMIC给出了更精确的时间。我可以使用

wmic datafile where "Name=''C:\\Users\\...\\test\\test.fit'" get creationdate
但当我更改where子句以获取所有文件的creationdate时,我要么得到无效查询,要么没有找到实例。我使用以下命令:

wmic datafile where "path='C:\\Users\\...\\test\\'" get creationdate
路径中没有空格。将Where子句与path一起使用时,“无可用实例”错误的来源是什么


我尝试更改双引号和单引号,并在更短的测试路径和不同的文件格式上进行测试。但这并没有改变结果。

请详细说明我的评论:


当然,默认格式不会在毫秒出现时输出毫秒,只需使用格式字符串来包含毫秒

wmic输出与DST(夏令时)信息不同的时间

> Get-Item C:\test\foo.zip| Select-Object Name,CreationTime

Name    CreationTime
----    ------------
foo.zip 2019-07-29 19:18:00



此批处理脚本仅用于创建带有分隔符
.csv文件
包含这些信息:

“文件名”;“文件路径”;“创建此文件的日期”

@echo关闭
模式con cols=70行=3和颜色0A
标题通过Hackoo 2019的CreationDate获取文件路径
设置“Target\u dir=%userprofile%\Pictures\AutoSaveScreenShot\”
重要的是不要忘记文件夹路径中的最后一个反斜杠\
调用:选中\u反斜杠%Target\u dir%Target\u dir
设置“日志文件=%~dpn0.csv”
如果存在“%LogFile%”删除“%LogFile%”
SetLocal EnableDelayedExpansion
@对于/f“tokens=1,2 delims=:”%%a in('Dir”%Target_Dir%“/s/b/o:n/ad”)do(
REM设置“驱动器=%%a”
重要的是不要忘记文件夹路径中的最后一个反斜杠\
设置“文件夹路径=%%b\”
调用:选中反斜杠!文件夹路径!文件夹路径
调用:添加反斜杠!文件夹路径!文件夹路径
@对于/f“Tokens=1,2 Skip=1 Delims=“%%a in('WMIC DATAFILE WHERE“PATH=”!Folder_PATH!”“GET CreationDate^,Caption”)执行以下操作:(
REM WMIC的输出是unicode!
REM通过将值传递给另一个FOR/F循环,可以删除尾随。
REM这也删除了虚拟的“空白”行(实际上是a),即第二个for/f循环
@对于/f“delims=“%%f in(“%%a”)do(
设置“文件名=%%~nxa”
设置“文件路径=%%a”
设置“DT=%%b”
REM将ISO日期转换为日期
设置“DT=!DT:~0,4!-!DT:~4,2!-!DT:~6,2!-!DT:~8,2!-!DT:~10,2!-!DT:~12,2!”
呼叫:扫描“!文件名!”
echo“!FileName!”“!FilePath!”“!DT!”>>“!LogFile!”
)
)
)
如果存在“!LogFile!”启动“/MAX记事本”!LogFile!”&退出
::---------------------------------------------------------------------
:添加反斜杠
Rem子例程,将简单的“\”替换为双精度的“\ \”并转换为字符串
设置“MyString=%1”
设置“字符串=\”
设置“NewString=\\”
调用集“%2=%%MyString:%String%%=%NewString%%”
退出/b
::---------------------------------------------------------------------
:勾选反斜杠
设置“数据路径=%1”
如果不是“%datapath:~-1%”=“\”集“%2=%datapath%\”
退出/b
::---------------------------------------------------------------------
:扫描
Cls&color0a
回音(
回声“%~1”。。。
后藤:eof
::---------------------------------------------------------------------
因此,输出文件如下所示:


不要在PowerShell中使用
wmic
,除非您的性能很差。获取文件创建时间的高级方法是
Get ChildItem'C:\Users\…\test'| Select Object-Expand CreationTime
ls'C:\Users\…\test'| Select-exp CreationTime
。默认格式在它们当然是存在的,只需使用一个格式字符串来包含它们
| Select Object@{n='CreationTime';e={$\uu0.CreationTime.ToString('yyyyMMdd HH:mm:ss.fff')}
> Get-Item C:\test\foo.zip| Select-Object Name,CreationTime

Name    CreationTime
----    ------------
foo.zip 2019-07-29 19:18:00
> wmic datafile where "Name='C:\\test\\foo.zip'" get creationdate
CreationDate
20190729181800.928368+060
> gi C:\test\foo.zip| Select @{n='CreationTime';e={$_.CreationTime.ToString('yyyyMMddHHmmss.ffffffzzz')}}

CreationTime
------------
20190729191800.928368+02:00
"Capture_06_04_2018_08_38_28.gif";"c:\users\hackoo\pictures\autosavescreenshot\2018-04\capture_06_04_2018_08_38_28.gif";"2018_04_06_08-38-28"
"Capture_06_04_2018_08_39_29.png";"c:\users\hackoo\pictures\autosavescreenshot\2018-04\capture_06_04_2018_08_39_29.png";"2018_04_06_08-39-29"
"Capture_06_04_2018_08_41_22.jpeg";"c:\users\hackoo\pictures\autosavescreenshot\2018-04\capture_06_04_2018_08_41_22.jpeg";"2018_04_06_08-41-22"
"Capture_06_04_2018_08_44_36.png";"c:\users\hackoo\pictures\autosavescreenshot\2018-04\capture_06_04_2018_08_44_36.png";"2018_04_06_08-44-51"
"Capture_06_04_2018_14_43_09.jpg";"c:\users\hackoo\pictures\autosavescreenshot\2018-04\capture_06_04_2018_14_43_09.jpg";"2018_04_06_14-43-09"
"Capture_06_04_2018_14_46_53.png";"c:\users\hackoo\pictures\autosavescreenshot\2018-04\capture_06_04_2018_14_46_53.png";"2018_04_06_14-47-02"
"Capture_06_04_2018_14_47_12.png";"c:\users\hackoo\pictures\autosavescreenshot\2018-04\capture_06_04_2018_14_47_12.png";"2018_04_06_14-47-19"
"Capture_07_04_2018_02_44_53.jpg";"c:\users\hackoo\pictures\autosavescreenshot\2018-04\capture_07_04_2018_02_44_53.jpg";"2018_04_07_02-44-53"