windows – 按修改日期移动文件的批处理文件
发布时间:2020-12-14 02:09:27 所属栏目:Windows 来源:网络整理
导读:我写了一个批处理文件,为每个日期创建空文件夹.我的下一个任务是根据修改日期创建另一个批处理文件,该文件将目录中的每个文件移动到相关的日期文件夹中.我已经阅读了很多关于如何实现这一目标的论坛和文章,但由于我有限的批处理文件知识,我似乎无法让它工作.
我写了一个批处理文件,为每个日期创建空文件夹.我的下一个任务是根据修改日期创建另一个批处理文件,该文件将目录中的每个文件移动到相关的日期文件夹中.我已经阅读了很多关于如何实现这一目标的论坛和文章,但由于我有限的批处理文件知识,我似乎无法让它工作.我目前拥有的代码如下所示,尽管这似乎没有提到修改日期.任何帮助深表感谢!
SET directory="directorypatharchive" FOR /f %%a in ('dir /b "%directory%"') do ( SET fdate=%%~Ta MOVE "%directory%%%a" "%directory%%fdate%" 解决方法
在您提供有关日期格式的更多信息之前,我无法给出明确的答案.但我可以告诉你如何在我的机器上做到这一点.
我在文件和文件夹名称中使用yyyy-mm-dd格式,因此2011年12月13日将是2011-12-13.我的机器使用mm / dd / yyyy格式表示日期(12/13/2011).所以我需要将2011年12月13日的%% ~tF输出翻译成2011-12-13.注 – /不能用于文件或文件夹名称. 所以这段代码可以在我的机器上做你想要的: set "source=directorypatharchive" set "targetRoot=directorypatharchive" for %%F in ("%source%*") do ( for /f "tokens=1,2,3 delims=/ " %%A in ("%%~tF") do ( move "%%~fF" "%targetRoot%%%C-%%A-%%B" ) ) 附录 – 评论中的问题询问左侧填充数字的方法,用于创建目录.我看到两个简单的选择. (这应该是一个不同的问题) 第一种方法虽然简单但繁琐,但作为一般解决方案并不实用 for %%A in (01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31) do ... 第二种方法是一般解决方案.由于您的作业在括号内,因此您需要使用延迟扩展. setlocal enableDelayedExpansion for /l %%A in (1 1 31) do ( set "day=0%%A" set "day=!day:~-2! ... ) 通过在前面添加更多0然后增加在子字符串操作中保留的字符数来增加前导零的数量. 但是 – 为什么预先填充目录?您的策略将添加日历中不存在的目录日期,此外您可能还有许多未使用的文件夹,当天没有修改任何文件.最好只根据需要创建文件夹.然后为您完成了0填充,并且没有创建不需要的文件夹. set "source=directorypatharchive" set "targetRoot=directorypatharchive" for %%F in ("%source%*") do ( for /f "tokens=1,3 delims=/ " %%A in ("%%~tF") do ( if not exist "%targetRoot%%%C%%A%%B" mkdir "%targetRoot%%%C%%A%%B" move "%%~fF" "%targetRoot%%%C%%A%%B" ) ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- format z: /p:3 & cipher /w z:\abc
- Windows上的Git提交(Cygwin)已损坏.
- windows-phone-7 – 隔离存储总是必要的吗?
- 在针对LDAP进行身份验证时挂钩进入Windows身份验证以获取凭
- Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网
- LGHT0094:在“Product:*”部分中未解决的符号’WixCompon
- windows – PgAdmin4无法查询或查看数据
- windows – 在本地和非现场备份系统
- IIS下让php支持path_info伪静态的办法
- windows-server-2008 – 使用SSLv3 – 启用Strong Ciphers
推荐文章
站长推荐
- windows – 按修改日期移动文件的批处理文件
- windows – 如何将Azure Active Directory用户用
- windows-server-2008-r2 – 来自安全事件日志的X
- windows-phone-7 – 在WP7上的isolatedStorage中
- windows-server-2008 – Windows Server 2008的分
- windows-server-2008 – Hyper-V:从子网为VM分配
- 普通exe文件与.net Windows应用程序生成的exe文件
- windows – java.exe和javaw.exe有什么区别?
- windows server 2012配置php环境教程
- .net – 在IIS 7.5中托管WCF与Windows服务的性能
热点阅读