我想複製一些文件或一個文件夾從一個文件服務器到另一個文件服務器。但是,我想保留原始時間戳和文件屬性,以便新複製的文件具有相同的原始文件時間戳。預先感謝任何答案。如何使用powershell複製文件並保留原始時間戳
5
A
回答
1
如果您對兩步解決方案沒問題;然後
- 首先拷貝從源文件在到dest
- 循環每個文件;並且對於每個文件
- 拷貝每個屬性從源屬性目的地
嘗試這種技術來複制文件從一個文件屬性到另一個。 (我已經用LastWriteTime說明了這一點;我相信你可以將它擴展爲其他屬性)。
#Created two dummy files
PS> echo hi > foo
PS> echo there > bar
# Get attributes for first file
PS> $timestamp = gci "foo"
PS> $timestamp.LastWriteTime
06 February 2014 09:25:47
# Get attributes for second file
PS> $t2 = gci "bar"
PS> $t2.LastWriteTime
06 February 2014 09:25:53
# Simply overwrite
PS> $t2.LastWriteTime = $timestamp.LastWriteTime
# Ta-Da!
PS> $t2.LastWriteTime
06 February 2014 09:25:47
3
這裏有一個PowerShell的函數,會做什麼你問...它絕對沒有健全檢查,所以買者自負 ...
function Copy-FileWithTimestamp {
[cmdletbinding()]
param(
[Parameter(Mandatory=$true,Position=0)][string]$Path,
[Parameter(Mandatory=$true,Position=1)][string]$Destination
)
$origLastWriteTime = (Get-ChildItem $Path).LastWriteTime
Copy-Item -Path $Path -Destination $Destination
(Get-ChildItem $Destination).LastWriteTime = $origLastWriteTime
}
一旦運行裝載的是,你可以這樣做:
Copy-FileWithTimestamp foo bar
(你也可以命名它的東西更短,但與標籤完成,而不是什麼大不了的事......)
0
這裏是你如何能在時間戳,屬性,並權限複製。
$srcpath = 'C:\somepath'
$dstpath = 'C:\anotherpath'
$files = gci $srcpath
foreach ($srcfile in $files) {
# Build destination file path
$dstfile = [io.FileInfo]($dstpath, '\', $srcfile.name -join '')
# Copy the file
cp $srcfile.FullName $dstfile.FullName
# Make sure file was copied and exists before copying over properties/attributes
if ($dstfile.Exists) {
$dstfile.CreationTime = $srcfile.CreationTime
$dstfile.LastAccessTime = $srcfile.LastAccessTime
$dstfile.LastWriteTime = $srcfile.LastWriteTime
$dstfile.Attributes = $srcfile.Attributes
$dstfile.SetAccessControl($srcfile.GetAccessControl())
}
}
相關問題
- 1. 上傳到Amazon S3時如何保留並保留文件原始修改日期的時間戳?
- 2. 如何在檢入到顛覆中時保留原始文件時間戳?
- 3. 如何使用Java FileChannel複製保留時間戳
- 4. cURL - 使用cURL來保存ftp文件並保留文件的原始時間戳
- 5. 如何保留原始文件發佈zip壓縮的時間戳
- 6. 複製多個文件並給出前綴並保留原始文件
- 7. 如何克隆存儲庫並保留文件時間戳?
- 8. 如何使用SVN保留文件的時間戳?
- 9. 如何在使用Mercurial時保留原始文件日期時間?
- 10. 如何正確複製表格並保留其原始鍵值
- 11. 複製到vim時如何保留原始程序格式?
- 12. 如何使rsync保留未更改文件的時間戳
- 13. FFmpeg的HLS保存原始時間戳
- 14. 如何複製文件和時間戳之間的2倍,並保留目錄結構
- 15. .Net庫在保留時間戳的同時移動/複製文件
- 16. Maven資源插件:如何將資源複製到目標文件夾並保留時間戳?
- 17. 如何保留時間戳當gsutil cp
- 18. 複製我的SQL Server數據庫時保留時間戳
- 19. 使用NSDateFormatter保留原始時區
- 20. 如何通過保留原始換行符的行來複制文件行
- 21. 複製文件並保留副本
- 22. 如何刪除原始文件並僅保留使用CarrierWave的版本?
- 23. 保留原始修改的時間戳,同時將新文件替換爲jar文件
- 24. 如何在保存文件時保留原始文件的副本
- 25. 如何在Linux中保留原始順序來複制行?
- 26. 使用時間戳保存文件
- 27. 時間戳使用PowerShell的
- 28. Django Python文件上傳如何保留原始文件
- 29. python複製帶時間戳的文件
- 30. 在使用合併排序時保留原始索引c
整潔。它在我測試Copy-FileWithTimestamp時起作用。 –
我還沒有測試過它,但我希望它會失敗壯觀,如果你試圖在複製中使用通配符,我寫這個函數的方式... –
我只是想通過報告我嘗試你的代碼來幫助社區它的工作。我的意思並不是暗示我正在爲生產網絡提供背書。 –