[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求助,批处理怎么取指定日期之间的文件夹名称?急

求教大佬,新人一枚,
老板有个需求,让取指定日期 到某个日期之间的文件夹,并且排序。求教怎么解决,我试过很多方法,都不行,实在没办法了。刚学bat,懂得很少。虚心请教

顶上去 求教

TOP

本帖最后由 duanxu3 于 2018-12-25 15:58 编辑

回复 4# Batcher

TOP

本帖最后由 duanxu3 于 2018-12-25 16:10 编辑

回复 4# Batcher


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

TOP

回复 7# Batcher


    这样不行,没有返回结果了

TOP

回复 10# WHY


    谢谢大佬

TOP

回复 10# WHY


    大佬求问指定目录怎么写?比如我要指定某个目录 c:\test

TOP

返回列表