我尝试将旧的日志文件移动到yyyy \ MM \ dd文件夹结构
Get-ChildItem . -Recurse -Include *.log |
Move-Item -Dest {"D:\Archive\{0:yyyy\\MM\\dd}\{1}" -f $_.LastWriteTime, $_.Name} -Force
但我收到路径未找到的错误。
更新
源路径似乎不是问题。看起来在-Force
上使用Move-Item
似乎不会创建丢失的目标目录。
子问题:如果没有Get-ChildItem可以做同样的事吗?
答案 0 :(得分:4)
据我发现提议的移动日志的方式几乎很有趣,我决定完成任务:
Get-ChildItem . -Recurse -Include *.log |
Move-Item -Force -Destination {
$dir = "C:\Temp\{0:yyyy\\MM\\dd}" -f $_.LastWriteTime
$null = mkdir $dir -Force
"$dir\$($_.Name)"
}
答案 1 :(得分:1)
我想对于源文件“some.log”,目的地应该是“D:\ Archive \ 2010 \ 04 \ 23 \ some.log”和目录“D:\ Archive \ 2010 \ 04 \ 23“实际上不存在。在这种情况下,Move-Item失败。是这种情况吗?