在powershell中,我想从目录中的文件返回LastWriteTime值,然后使用(原始文件name_LastWriteTime.txt)覆盖前一天文件将文件写回该目录。 LastWriteTime我想要一个YYMMDD格式
所以一个例子是从c:\ foo \ originalfile.mdb读取LastWriteTime,然后生成一个名为c:\ foo \ orignalfile_LastWriteTime.txt(YYMMDD中的LastWriteTime)格式的文件
您能否就一个简单的方法提出建议
答案 0 :(得分:1)
另一种选择:
Get-Item c:\foo\originalfile.mdb |
New-Item -Path {$_.Fullname.Insert($_.FullName.length - 4, $_.LastWriteTime.ToString("_yyMMdd"))} -Type file -Force
此方法利用了以下事实:您可以将scriptblock用于接受管道输入的任何参数。在New-Item
的情况下,Path
参数接受管道输入。
答案 1 :(得分:0)
# Specify the file name you are looking for.
$file = "originalfile.mdb"
# Create a date variable by getting the
# last write time and formatting it with Get-Date
$date = Get-Date (ls | ? {$_.Name -match $file}).LastWriteTime -Format yyMMdd
# Create a new file using the original name minus the file ext
# and add the date onto the end.
New-Item "$($file -replace '\..*$','')_$($date)" -Type File