powershell之如何设置文件的 LastWriteTime 属性

java哥 阅读:11 2024-05-29 10:23:45 评论:0

我想更改使用此脚本生成的文件的创建日期:

$clientname = Read-Host "Enter the client name" 
$path = Read-Host "Enter the complete path of .bak files" 
 
$time = "01-00-00" 
$space = " " 
 
 
for ($i = 0; $i -lt 7;$i++) 
{ 
 
$date = (Get-Date).AddDays(-1-$i).ToString('yyyy-MM-dd')  
 
New-Item -ItemType file $path$clientname$space$date$space$time.bak 
 
} 

所以它给了我这些文件:
Mode                LastWriteTime     Length Name                                                           
----                -------------     ------ ----                                                           
-a---        16/08/2013     16:55          0 client 2013-08-15 01-00-00.bak                                   
-a---        16/08/2013     16:55          0 client 2013-08-14 01-00-00.bak                                   
-a---        16/08/2013     16:55          0 client 2013-08-13 01-00-00.bak                                   
-a---        16/08/2013     16:55          0 client 2013-08-12 01-00-00.bak                                   
-a---        16/08/2013     16:55          0 client 2013-08-11 01-00-00.bak                                   
-a---        16/08/2013     16:55          0 client 2013-08-10 01-00-00.bak                                   
-a---        16/08/2013     16:55          0 client 2013-08-09 01-00-00.bak   

我想修改每个文件的 LastWriteTime 属性,我希望它与文件名中的日期相同。

此文件的示例 "client 2013-08-15 01-00-00.bak" LastWriteTime 将为 "15/08/2013 01:00"
我被卡住了,我不知道我们怎么能做到这一点

谢谢

请您参考如下方法:

未测试,但在调用 New-Item 后在循环中尝试此操作:

$file = Get-ChildItem $path$clientname$space$date$space$time.bak 
$file.LastWriteTime = (Get-Date).AddDays(-1-$i) 

如果您想查看可以使用 FileInfo 对象执行的操作的完整列表,请尝试在 Powershell 控制台中调用 $file | gm。您还可以查看 docs on MSDN


标签:Shell
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号