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

[日期时间] 怎么修改文件属性里面的修改日期

各位大侠,请问现在一个文件夹下有很多的文件。每个文件的修改日期是不一样的。我可不可以建立一个文本。格式为:  文件名+需要修改成的日期     通过运行批处理自动根据建立的文本格式里面的内容来分别更改每个文件的修改日期呢?
比如一个文件夹下有文件1,2,3,,,,每个文件我用文本建立一个格式   1+20190101    2+2019102   3+20190303 ,,,,然后通过批处理达到自动设置的目的。时间的格式可以为   2019/01/01  或者20190101都可以。
只需要修改日期就可以了。

先谢谢各位大侠帮忙!

文件是什么格式的

TOP

本帖最后由 zaqmlp 于 2019-12-30 18:24 编辑
  1. <# :
  2. cls
  3. @echo off
  4. set info=互助互利,支付宝扫码头像,感谢赞助
  5. rem 有问题,可加QQ956535081及时沟通
  6. title %info%
  7. powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
  8. echo;%info%
  9. pause
  10. exit
  11. #>
  12. #文件夹路径
  13. $folder='D:\xxx\yyy';
  14. #文件及修改日期
  15. $list=@{
  16.     '1.txt'='2019-01-01';
  17.     '2.rar'='2019-10-23';
  18.     '3.jpg'='2019-03-03';
  19.     'xx.mp4'='2019-03-17'
  20. };
  21. if(-not (test-path -liter $folder)){write-host ('"'+$folder+'" not found');exit;};
  22. $files=@(dir -liter $folder|?{$_ -is [System.IO.FileInfo]});
  23. for($i=0;$i -lt $files.length;$i++){
  24.     if($list.ContainsKey($files[$i].Name)){
  25.         $old=$files[$i].LastWriteTime;
  26.         $new=(get-date ($list[$files[$i].Name]+' '+$old.toString('HH:mm:ss')));
  27.         $files[$i].LastWriteTime=$new;
  28.         write-host ('['+$old.toString('yyyy-MM-dd HH:mm:ss')+'-->'+$new.toString('yyyy-MM-dd HH:mm:ss')+']'+$files[$i].Name);
  29.     };
  30. };
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

返回列表