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

[文件操作] 求助批处理把每天固定时间范围内产生的文件剪切到另外一个目录

各位大佬好,有没有办法将目录中每天固定时间范围内(比如0点--7点)产生的文件,剪切到另外一个目录。万分感谢

如下指令即可获取文件(如:test.txt)带秒钟的时间,提取后做比较即可:
  1. for /f "usebackq tokens=*" %a in (`forfiles /p . /m test.txt /c "cmd /c echo @fdate,@ftime"`) do @echo %a
复制代码

TOP

回复 2# hfxiang


    感谢回复,我是菜鸟,我先试一下。

TOP

再次求助大佬,现在取出时间确实没有问题了,目前的问题的取出来的时间格式“9:59:42”跟我自定义时间比较的时候,我想取10点前的用leq,这个时间判定错误。我理解的是当成字符串比较了,所以9>1,有什么办法能让取出来的时间就是数字9呢

TOP

再次求助大佬,现在取出时间确实没有问题了,目前的问题的取出来的时间格式“9:59:42”跟我自定义时间比较的 ...
superhsj 发表于 2022-8-22 10:47
  1. D:\temp>for /f "usebackq tokens=*" %a in (`forfiles /p "d:\temp" /m *.* /c "cmd /c if @isdir==FALSE if not @ftime leq 10 echo @ftime"`) do  @echo %a
  2. 10:26:17
  3. 9:59:42
复制代码
上面是我的代码和执行结果

TOP

:: 筛选出当前目录中当天00:00-06:59区间内创建的文件
  1. @echo off
  2. for /f "delims=" %%D in ('date/t') do set "today=%%D"
  3. for /f "tokens=1-5 delims=: " %%1 in ('dir/a-d/od/tc^|findstr %today%') do (
  4. if "%%2" geq "00" if "%%2" lss "07" (echo,hh:mm=%%2:%%3 %%5)
  5. )
  6. pause&exit/b
复制代码

TOP

回复 5# superhsj


试试如下指令
  1. for /f "usebackq" %a in (`forfiles /p . /m *.* /c "cmd /c echo @file,@ftime"`) do @for /f "tokens=1-2* delims=:," %b in ("%a") do  @if %c lss 10 @echo;%b %c:%d
复制代码

TOP

回复 7# hfxiang


    你这个好像没有问题,不过我得消化一下,非常感谢

TOP

回复 6# aloha20200628


    大佬,你这个我现在没研究明白,我在试试,感谢回复

TOP

返回列表