标题: [日期时间] 批处理如何获取文件夹里文件的最小日期? [打印本页]
作者: nameyu8023 时间: 2013-2-21 15:09 标题: 批处理如何获取文件夹里文件的最小日期?
本帖最后由 nameyu8023 于 2013-2-25 00:37 编辑
本意是根据文件的时间来判定最小的文件,但为什么不行类?- @echo off
- setlocal enabledelayedexpansion
- set file_num=0
- for /f "delims=" %%a in ('dir /a-d/b') do (
- set /a file_num+=1
- )
- echo !file_num!
- pause
- :contrast
- set init_time=9999999999999
- if !file_num! gtr 5 (
- for /f "delims=" %%a in ('dir /a-d/b') do (
- set tmp_time=%%~ta
- echo !tmp_time!
- pause
- set tmp_time=!tmp_time:-=!
- echo !tmp_time!
- pause
- set tmp_time=!tmp_time: =!
- echo !tmp_time!
- pause
- set tmp_time=!tmp_time::=!
- echo !tmp_time!
- pause
- if !init_time! gtr !tmp_time! (
- set init_time=!tmp_time!
- set init_file=%%a
- )
- )
- echo !init_time!
- echo !init_file!
- move /t !init_file! test
- ) else (
- echo end...&pause&exit
- )
- goto contrast
复制代码
作者: Batcher 时间: 2013-2-21 15:12
请给出测试数据和测试结果,具体说说哪里不行。
作者: nameyu8023 时间: 2013-2-21 15:47
- @echo off
- setlocal enabledelayedexpansion
- set file_num=0
- for /f "delims=" %%a in ('dir /a-d/b') do (
- set /a file_num+=1
- )
- echo !file_num!
- pause
- :contrast
- set init_time=9999999999999
- if !file_num! gtr 5 (
- for /f "delims=" %%a in ('dir /a-d/b') do (
- set tmp_time=%%~ta
- echo !tmp_time!
- pause
- set tmp_time=!tmp_time:-=!
- echo !tmp_time!
- pause
- set tmp_time=!tmp_time: =!
- echo !tmp_time!
- pause
- set tmp_time=!tmp_time::=!
- echo !tmp_time!
- pause
- ::以上测试正常
- if !init_time! gtr !tmp_time! (
- set init_time=!tmp_time!
- set init_file=%%a
- )
- )
- ::正常的话应该显示,路径和时间
- ::现在是显示9999...
- ::echo处于关闭状态。
- echo !init_time!
- echo !init_file!
- move /t !init_file! test
- ) else (
- echo end...&pause&exit
- )
- goto contrast
复制代码
然后问下批处理数学运算最多可以运算多少位?
作者: Batcher 时间: 2013-2-21 16:38
http://www.bathome.net/thread-12238-1-1.html
作者: nameyu8023 时间: 2013-2-21 17:44
问题以解决。数字位数太大。怎么结贴?
作者: Batcher 时间: 2013-2-21 18:36
回复 5# nameyu8023
编辑顶楼的帖子
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |