我正在使用PowerShell Move-Item移动一些文件夹及其所有内容,但是当我移动文件夹时,其修改日期是当前日期而不是原始日期。如何在不更改上次修改日期的情况下移动文件夹。
答案 0 :(得分:0)
在Windows中没有简单的方法可以执行此操作,但您可以使用robocopy。可以选择复制修改后的日期属性。 在robocopy上运行帮助(robocopy /?)并查找/ COPY和/ COPYALL选项。 这仅适用于Vista和较新的Windows版本。
答案 1 :(得分:0)
这里有一个powershell功能,可以执行你所要求的...它绝对没有进行健全性检查,因此需要注意......
function Move-FileWithTimestamp {
[cmdletbinding()]
param(
[Parameter(Mandatory=$true,Position=0)][string]$Path,
[Parameter(Mandatory=$true,Position=1)][string]$Destination
)
$origLastAccessTime = ( Get-Item $Path ).LastAccessTime
$fileName = ( Get-Item $Path ).Name
Move-Item -Path $Path -Destination $Destination
$(Get-Item ($Destination+'\'+$fileName)).LastAccessTime = $origLastAccessTime
}
一旦你加载了那个,你可以做类似的事情:
Move-FileWithTimestamp c:\foo.txt c:\newFolder