无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3270|回复: 83
打印 上一主题 下一主题

[已解决] 做个批处理,或vbs,把文件夹里指定日期的文件 移动到 新建的以日期为名称的文件夹里

  [复制链接]
1#
发表于 2023-9-4 09:06:10 来自手机 | 显示全部楼层
szwp 发表于 2023-9-3 18:59
批处理计算昨天日期码较长,调用vbs或ps可少码。如果天天运行的话可提前建好明天的文件夹

有高手对算法有研究,昨天日期计算有1行或者几行的,你搜搜就有。

点评

有这么简单的批处理算法吗?分享一下,主要是跨月、跨年和日期显示格式的问题,没有日期函数的话,批处理写起来比较复杂  详情 回复 发表于 2023-9-5 00:35
回复

使用道具 举报

2#
发表于 2023-9-6 22:32:17 | 显示全部楼层
batche 发表于 2023-9-5 00:35
有这么简单的批处理算法吗?分享一下,主要是跨月、跨年和日期显示格式的问题,没有日期函数的话,批处理 ...

为了让更多人看多,已单独发帖。

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=437209
回复

使用道具 举报

3#
发表于 2023-9-6 23:39:37 | 显示全部楼层
我觉得楼主的需求描述把人带到了误区,既然每天运行,都要把所谓昨天日期的文件移动到昨天日期的文件夹里面,那么最终的结果就是除了今天之外,以往都有文件相关日期的文件夹。

所以楼主实际最终结果的需求是:将该文件夹下非今天日期的文件移动到该文件日期的文件夹里面,其实就是文件按日期分类。

于是乎,根本不用计算所谓的昨天日期,只需判断文件日期是否今天,否则就移动到它自己日期的文件夹里面。

点评

确实。根据自身日期自动归类更方便了。可以一段时间,或是需要查看的时候,整理一次即可。  详情 回复 发表于 2023-9-7 10:43
麻烦给个成品批处理试试,谢谢  详情 回复 发表于 2023-9-7 10:35
回复

使用道具 举报

4#
发表于 2023-9-7 22:05:22 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set title=按文件日期归类
  4. title %title%

  5. ::需要归类的目录
  6. pushd %~dp0\test

  7. for /f %%a in ("%date:/=-%") do set "today=%%a"
  8. for /f %%a in ('dir /b *.txt 2^>nul') do (
  9.         for /f %%b in ("%%~ta") do (
  10.                 set "filedate=%%b"
  11.                 set "filedate=!filedate:/=-!"
  12.                 if not "!filedate!"=="%today%" (
  13.                         set /a n+=1
  14.                         set "list_!n!_file=%%~nxa"
  15.                         set "list_!n!_date=!filedate!"
  16.                 )
  17.         )
  18. )

  19. if !n! EQU 0 (
  20.         color 4f
  21.         echo;无文件可归类!
  22. ) else (
  23.         for /l %%a in (1 1 !n!) do (
  24.                 title %title% %%a/!n!
  25.                 echo 正在移动 !list_%%a_file!
  26.                 if not exist "!list_%%a_date!" mkdir "!list_%%a_date!"
  27.                 move !list_%%a_file! !list_%%a_date!\ >nul
  28.         )
  29.         echo;
  30.         echo;
  31.         echo;文件按日期归类完毕!
  32.         color 2f
  33. )
  34. echo;
  35. pause
复制代码

点评

按照修改日期归档到以修改日期命名的文件夹,挺好!  详情 回复 发表于 2023-9-8 21:41
回复

使用道具 举报

5#
发表于 2023-9-7 22:48:21 来自手机 | 显示全部楼层
说起来,现代操作系统都支持文件分组显示,且支持文件名、文件类型、文件大小、文件修改时间等多种分组方式,所以个人感觉,楼主根本就没有归类的必要,直接分组显示即可。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-19 01:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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