找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 35876|回复: 7

[文件操作] 已解决:文件夹内有判断某个文件是最新的时间

[复制链接]
发表于 2020-4-28 10:41:26 | 显示全部楼层 |阅读模式
本帖最后由 ataosun 于 2020-4-29 11:05 编辑

企业微信接收文件夹中,接收的日报表名为:日报.xlsx ,如果再有发送过来的,企业微信并不会覆盖原文件,而是生成以原文件名+(1、2、3).xlsx的形式保存的。例如日报(1).xlsx、 日报(2).xlsx、日报(3).xlsx ;
此文件夹内还有其他文件。
目的:想判断出哪个 日报 是最新文件,并移动至指定文件夹,重命名为 日报.xlsx,
发表于 2020-4-28 12:26:38 | 显示全部楼层
回复 1# ataosun
  1. @echo off
  2. set "folder1=C:\Test\企业微信接收文件夹"
  3. set "folder2=C:\Test\指定文件夹"
  4. cd /d "%folder1%"
  5. for /f "delims=" %%i in ('dir /b /od 日报*.xlsx') do (
  6.     set "file=%%i"
  7. )
  8. copy /y "%file%" "%folder2%\日报.xlsx"
复制代码
 楼主| 发表于 2020-4-29 09:28:41 | 显示全部楼层
回复 2# Batcher


    感谢大神,对大神膜拜。学好计算机编程能解决工作中很多问题,效率特别高。(代码中多了个左括号)
发表于 2020-4-29 09:49:55 | 显示全部楼层
回复 3# ataosun


    已删除多余的左括号
 楼主| 发表于 2020-4-29 10:17:49 | 显示全部楼层
回复 4# Batcher

可以抽空解释一下这句吗?或者甩给我个文档也行。 不用解释dir。再次感谢。
  1. for /f "delims=" %%i in ('dir /b /od 日报*.xlsx') do (set "file=%%i")
复制代码
发表于 2020-4-29 10:37:17 | 显示全部楼层
回复 5# ataosun


批处理for命令教程
http://bbs.bathome.net/thread-31727-1-1.html

批处理for命令从入门到精通以及配套练习题
http://bbs.bathome.net/thread-2189-1-1.html
http://bbs.bathome.net/thread-2336-1-1.html
 楼主| 发表于 2020-4-29 11:29:07 | 显示全部楼层
本帖最后由 ataosun 于 2020-4-29 11:40 编辑

回复 6# Batcher
  1. for /f "delims=" %%i in ('dir /b /od 日报*.xlsx') do (set "file=%%i")
复制代码
这行意思是按时间顺序列出文件,并逐一赋值给变量file,因为最新的日期排在最后面,所以,变量file最后的值,就是我们想要的结果。是这样的吗?
附:是的,是的 我在set "file=%%i" 后面加了一句 echo %%file ,最后又加了个pause ,正验证了我的想法。
发表于 2020-4-29 12:10:43 | 显示全部楼层
回复 7# ataosun


    是的,就是这个意思。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 19:51 , Processed in 0.029239 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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