本帖最后由 duanxu3 于 2018-12-25 16:10 编辑
回复 4# Batcher
谢谢大佬,我写出来了,但是返回的文件排序方式按照升序的排序方式,但是我想让他按照降序排序,返回文件夹排序顺序的是20181219,20181220.其实我想返回20181220,20181219- @echo off&setlocal enabledelayedexpansion
-
- set 起始日期=2018-12-27
- set 终止日期=2018-12-14
- set 日期=2018-11-19
-
- call:date2i "%起始日期%" ans
- call:date2i "%终止日期%" anc
- set ZYDQpath=\\172.30.40.2\3dversion\X64\
- for /f "skip=2 tokens=1-3*" %%a in ('dir/a-h/tc/4^|find "<DIR>"') do (
- call:date2ii "%%a" num
- if !num! gtr !anc! if !num! lss !ans! (echo %%~d) else echo no
-
- )
- pause
- ::exit
-
- :date2i <yyyy-mm-dd> <ret>
- setlocal&set tp=%~1
- for /f "tokens=1-3delims=-" %%a in ("%tp:-0=-%")do set/a y=%%a,m=%%b,d=%%c
- set/a "m=(m+9)%%12,y-=m/10+1900,i=365*y+y/4+(m*153+2)/5+d-1"
- endlocal&set %2=%i%&goto:eof
- )
-
- :date2ii <yyyy/mm/dd> <ret>
- setlocal&set tp=%~1
- for /f "tokens=1-3delims=/" %%a in ("%tp:/0=/%")do set/a y=%%a,m=%%b,d=%%c
- set/a "m=(m+9)%%12,y-=m/10+1900,i=365*y+y/4+(m*153+2)/5+d-1"
- endlocal&set %2=%i%&goto:eof
- )
复制代码
|