标题: [日期时间] [已解决]批处理怎样获取完整的文件创建时间需要到秒? [打印本页]
作者: yangfengoo 时间: 2018-8-21 15:18 标题: [已解决]批处理怎样获取完整的文件创建时间需要到秒?
获取完整的文件创建时间需要到秒
dir 命令只能到分钟 还有其它命令吗?
这几天整理照片发现新问题,经过几次存储转移后,创建时间会改变不准确,观察后发展拍摄时间才是不会变,能不能获取详细信息里照片的拍摄时间,需要精确到秒,手机上网不能传图片。
最好是bat代码,其它代码亦可。
http://www.bathome.net/thread-15792-1-1.html
作者: Batcher 时间: 2018-8-21 17:02
- wmic datafile where "Name='C:\\Test\\a.txt'" get CreationDate /value
复制代码
作者: yhcfsr 时间: 2018-8-21 17:30
- @set @n=0/*&echo off
- dir /a-d/s/b|Cscript -nologo -e:jscript "%~f0"
- pause&exit /b */
-
- var fso=new ActiveXObject('scripting.FileSystemObject');
- while(!WSH.StdIn.AtEndOfStream)
- {
- file=fso.GetFile(WSH.StdIn.ReadLine());
- WSH.Echo(file.DateCreated,'\t'+file);
-
- }
复制代码
把脚本放在源目录
作者: yangfengoo 时间: 2018-8-21 20:35
回复 3# yhcfsr
VBS代码不了解,运行没问题,第9行要小修一下我要的是圈起来的时间。
作者: yhcfsr 时间: 2018-8-22 07:12
本帖最后由 yhcfsr 于 2018-8-22 07:18 编辑
有意思,标题是创建日期,图片是修改日期.顺便说下,这是JS,虽然和VBS没有区别
最近的修改日期:file.DateLastModified
最近的访问日期:file.DateLastAccessed
作者: WHY 时间: 2018-8-22 09:59
- PowerShell "dir 'E:\Test\' -Recurse | ?{$_ -is [IO.FileInfo]} | ForEach{$_.LastWriteTime.ToString('yyyy-MM-dd HH:mm:ss') + ' ' + $_.FullName}"
复制代码
作者: yangfengoo 时间: 2019-7-10 21:56
本帖最后由 yangfengoo 于 2019-7-10 21:56 编辑
获取完整的文件创建时间需要到秒
dir 命令只能到分钟 还有其它命令吗?
这几天整理照片发现新问题,经过几次存储转移后,创建时间会改变不准确,观察后发展拍摄时间才是不会变,能不能获取详细信息里照片的拍摄时间,需要精确到秒,手机上网不能传图片。
最好是bat代码,其它代码亦可。
作者: WHY 时间: 2019-7-12 11:03
PowerShell 脚本- [void][Reflection.Assembly]::LoadWithPartialName('System.Drawing');
- forEach ( $file In (dir E:\Test\*.jpg -File) ){
- $image = [System.Drawing.Image]::fromFile($file.FullName);
- try {
- $propItem = $image.GetPropertyItem(0x9003).Value; #0x9003=拍摄时间;0x0132=最后更新时间
- $dateStr = [char[]]$propItem -join '' -replace '\x00$'; #日期字符串
- $dateStr + "`t" + $file.Name;
- } catch {
- "NULL`t`t`t" + $file.Name; #无拍摄日期时回显NULL
- }
- }
- pause
复制代码
结果:
2019:07:11 08:12:18 img002.jpg
NULL img004.jpg
2019:07:11 08:12:32 img100.jpg
2019:07:11 08:11:47 img101.jpg
作者: WHY 时间: 2019-7-12 11:16
本帖最后由 WHY 于 2019-7-12 13:17 编辑
Test.bat
需要下载第三方工具jhead.exe- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1* delims=:" %%i in ('jhead *.jpg ^| findstr /b /r /i /c:"File Name" /c:"Date/Time"') do (
- set "curLine=%%j"
- if "!curLine::=!" NEQ "!curLine!" (
- echo;!curLine:~1! !preLine!
- ) else if /i "!preLine:~-3!" EQU "jpg" (
- echo;NULL !preLine!
- )
- set "preLine=%%j"
- )
- if /i "!preLine:~-3!" EQU "jpg" (echo;NULL !preLine!)
- pause
复制代码
结果:
2019:07:11 08:12:18 img002.jpg
NULL img004.jpg
2019:07:11 08:12:32 img100.jpg
2019:07:11 08:11:47 img101.jpg
请按任意键继续. . .
作者: yangfengoo 时间: 2019-7-12 21:40
回复 8# WHY
感谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |