标题: [文件操作] 已解决:文件夹内有判断某个文件是最新的时间 [打印本页]
作者: ataosun 时间: 2020-4-28 10:41 标题: 已解决:文件夹内有判断某个文件是最新的时间
本帖最后由 ataosun 于 2020-4-29 11:05 编辑
企业微信接收文件夹中,接收的日报表名为:日报.xlsx ,如果再有发送过来的,企业微信并不会覆盖原文件,而是生成以原文件名+(1、2、3).xlsx的形式保存的。例如日报(1).xlsx、 日报(2).xlsx、日报(3).xlsx ;
此文件夹内还有其他文件。
目的:想判断出哪个 日报 是最新文件,并移动至指定文件夹,重命名为 日报.xlsx,
作者: Batcher 时间: 2020-4-28 12:26
回复 1# ataosun - @echo off
- set "folder1=C:\Test\企业微信接收文件夹"
- set "folder2=C:\Test\指定文件夹"
- cd /d "%folder1%"
- for /f "delims=" %%i in ('dir /b /od 日报*.xlsx') do (
- set "file=%%i"
- )
- copy /y "%file%" "%folder2%\日报.xlsx"
复制代码
作者: ataosun 时间: 2020-4-29 09:28
回复 2# Batcher
感谢大神,对大神膜拜。学好计算机编程能解决工作中很多问题,效率特别高。(代码中多了个左括号)
作者: Batcher 时间: 2020-4-29 09:49
回复 3# ataosun
已删除多余的左括号
作者: ataosun 时间: 2020-4-29 10:17
回复 4# Batcher
可以抽空解释一下这句吗?或者甩给我个文档也行。 不用解释dir。再次感谢。- for /f "delims=" %%i in ('dir /b /od 日报*.xlsx') do (set "file=%%i")
复制代码
作者: Batcher 时间: 2020-4-29 10:37
回复 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
作者: ataosun 时间: 2020-4-29 11:29
本帖最后由 ataosun 于 2020-4-29 11:40 编辑
回复 6# Batcher - for /f "delims=" %%i in ('dir /b /od 日报*.xlsx') do (set "file=%%i")
复制代码
这行意思是按时间顺序列出文件,并逐一赋值给变量file,因为最新的日期排在最后面,所以,变量file最后的值,就是我们想要的结果。是这样的吗?
附:是的,是的 我在set "file=%%i" 后面加了一句 echo %%file ,最后又加了个pause ,正验证了我的想法。
作者: Batcher 时间: 2020-4-29 12:10
回复 7# ataosun
是的,就是这个意思。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |