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

[日期时间] 批处理如何获取文件夹里文件的最小日期?

[复制链接]
发表于 2013-2-21 15:09:42 | 显示全部楼层 |阅读模式
本帖最后由 nameyu8023 于 2013-2-25 00:37 编辑

本意是根据文件的时间来判定最小的文件,但为什么不行类?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set file_num=0
  4. for /f "delims=" %%a in ('dir /a-d/b') do (
  5.         set /a file_num+=1
  6. )
  7. echo !file_num!
  8. pause
  9. :contrast
  10. set init_time=9999999999999
  11. if !file_num! gtr 5 (
  12.         for /f "delims=" %%a in ('dir /a-d/b') do (
  13.                 set tmp_time=%%~ta
  14.                 echo !tmp_time!
  15.                 pause
  16.                 set tmp_time=!tmp_time:-=!
  17.                 echo !tmp_time!
  18.                 pause
  19.                 set tmp_time=!tmp_time: =!
  20.                 echo !tmp_time!
  21.                 pause
  22.                 set tmp_time=!tmp_time::=!
  23.                 echo !tmp_time!
  24.                 pause
  25.                 if !init_time! gtr !tmp_time! (
  26.                         set init_time=!tmp_time!
  27.                         set init_file=%%a
  28.                 )
  29.         )
  30.         echo !init_time!
  31.         echo !init_file!
  32.         move /t !init_file! test
  33. ) else (
  34.         echo end...&pause&exit
  35.         )
  36. goto contrast
复制代码
发表于 2013-2-21 15:12:15 | 显示全部楼层
请给出测试数据和测试结果,具体说说哪里不行。
 楼主| 发表于 2013-2-21 15:47:24 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set file_num=0
  4. for /f "delims=" %%a in ('dir /a-d/b') do (
  5.         set /a file_num+=1
  6. )
  7. echo !file_num!
  8. pause
  9. :contrast
  10. set init_time=9999999999999
  11. if !file_num! gtr 5 (
  12.         for /f "delims=" %%a in ('dir /a-d/b') do (
  13.                 set tmp_time=%%~ta
  14.                 echo !tmp_time!
  15.                 pause
  16.                 set tmp_time=!tmp_time:-=!
  17.                 echo !tmp_time!
  18.                 pause
  19.                 set tmp_time=!tmp_time: =!
  20.                 echo !tmp_time!
  21.                 pause
  22.                 set tmp_time=!tmp_time::=!
  23.                 echo !tmp_time!
  24.                 pause
  25.                 ::以上测试正常
  26.                 if !init_time! gtr !tmp_time! (
  27.                         set init_time=!tmp_time!
  28.                         set init_file=%%a
  29.                 )
  30.         )
  31.         ::正常的话应该显示,路径和时间
  32.         ::现在是显示9999...
  33.         ::echo处于关闭状态。
  34.         echo !init_time!
  35.         echo !init_file!
  36.         move /t !init_file! test
  37. ) else (
  38.         echo end...&pause&exit
  39.         )
  40. goto contrast
复制代码
然后问下批处理数学运算最多可以运算多少位?
发表于 2013-2-21 16:38:22 | 显示全部楼层
 楼主| 发表于 2013-2-21 17:44:51 | 显示全部楼层
问题以解决。数字位数太大。怎么结贴?
发表于 2013-2-21 18:36:09 | 显示全部楼层
回复 5# nameyu8023


    编辑顶楼的帖子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 00:06 , Processed in 0.019341 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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