找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32717|回复: 9

[日期时间] [已解决]批处理怎样获取完整的文件创建时间需要到秒?

[复制链接]
发表于 2018-8-21 15:18:15 | 显示全部楼层 |阅读模式
获取完整的文件创建时间需要到秒
dir 命令只能到分钟 还有其它命令吗?

这几天整理照片发现新问题,经过几次存储转移后,创建时间会改变不准确,观察后发展拍摄时间才是不会变,能不能获取详细信息里照片的拍摄时间,需要精确到秒,手机上网不能传图片。
最好是bat代码,其它代码亦可。


http://www.bathome.net/thread-15792-1-1.html
发表于 2018-8-21 17:02:16 | 显示全部楼层
  1. wmic datafile where "Name='C:\\Test\\a.txt'" get CreationDate /value
复制代码

评分

参与人数 1技术 +1 收起 理由
yangfengoo + 1 wmic不错

查看全部评分

发表于 2018-8-21 17:30:48 | 显示全部楼层
  1. @set @n=0/*&echo off
  2. dir /a-d/s/b|Cscript -nologo -e:jscript "%~f0"
  3. pause&exit /b */

  4. var fso=new ActiveXObject('scripting.FileSystemObject');
  5. while(!WSH.StdIn.AtEndOfStream)
  6. {
  7.         file=fso.GetFile(WSH.StdIn.ReadLine());
  8.         WSH.Echo(file.DateCreated,'\t'+file);
  9.        
  10. }
复制代码
把脚本放在源目录

评分

参与人数 1技术 +1 收起 理由
yangfengoo + 1 VBS代码不了解运行没问题,第9行要小修一下 ...

查看全部评分

 楼主| 发表于 2018-8-21 20:35:52 | 显示全部楼层
回复 3# yhcfsr


    VBS代码不了解,运行没问题,第9行要小修一下我要的是圈起来的时间。
发表于 2018-8-22 07:12:30 | 显示全部楼层
本帖最后由 yhcfsr 于 2018-8-22 07:18 编辑

有意思,标题是创建日期,图片是修改日期.顺便说下,这是JS,虽然和VBS没有区别
最近的修改日期:file.DateLastModified
最近的访问日期:file.DateLastAccessed
发表于 2018-8-22 09:59:39 | 显示全部楼层
  1. PowerShell "dir 'E:\Test\' -Recurse | ?{$_ -is [IO.FileInfo]} | ForEach{$_.LastWriteTime.ToString('yyyy-MM-dd HH:mm:ss') + ' ' + $_.FullName}"
复制代码
 楼主| 发表于 2019-7-10 21:56:53 | 显示全部楼层
本帖最后由 yangfengoo 于 2019-7-10 21:56 编辑


获取完整的文件创建时间需要到秒
dir 命令只能到分钟 还有其它命令吗?

这几天整理照片发现新问题,经过几次存储转移后,创建时间会改变不准确,观察后发展拍摄时间才是不会变,能不能获取详细信息里照片的拍摄时间,需要精确到秒,手机上网不能传图片。
最好是bat代码,其它代码亦可。
发表于 2019-7-12 11:03:24 | 显示全部楼层
PowerShell 脚本
  1. [void][Reflection.Assembly]::LoadWithPartialName('System.Drawing');
  2. forEach ( $file In (dir E:\Test\*.jpg -File) ){
  3.     $image = [System.Drawing.Image]::fromFile($file.FullName);
  4.     try {
  5.         $propItem = $image.GetPropertyItem(0x9003).Value;        #0x9003=拍摄时间;0x0132=最后更新时间
  6.         $dateStr  = [char[]]$propItem -join '' -replace '\x00$'; #日期字符串
  7.         $dateStr + "`t" + $file.Name;
  8.     } catch {
  9.         "NULL`t`t`t" + $file.Name;   #无拍摄日期时回显NULL
  10.     }
  11. }
  12. 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
发表于 2019-7-12 11:16:37 | 显示全部楼层
本帖最后由 WHY 于 2019-7-12 13:17 编辑

Test.bat
需要下载第三方工具jhead.exe

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1* delims=:" %%i in ('jhead *.jpg ^| findstr /b /r /i /c:"File Name" /c:"Date/Time"') do (
  4.     set "curLine=%%j"
  5.     if "!curLine::=!" NEQ "!curLine!" (
  6.         echo;!curLine:~1!        !preLine!
  7.     ) else if /i "!preLine:~-3!" EQU "jpg" (
  8.         echo;NULL                        !preLine!
  9.     )
  10.     set "preLine=%%j"
  11. )
  12. if /i "!preLine:~-3!" EQU "jpg" (echo;NULL                        !preLine!)
  13. 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
请按任意键继续. . .
 楼主| 发表于 2019-7-12 21:40:39 | 显示全部楼层
回复 8# WHY


    感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 00:34 , Processed in 0.021430 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表