[英]Copy files modified in last 2 days
我想在文件夾之間復制文件。 在當天和前一天剛剛修改(帶有新條目的 CSV 文件)。
這是我的代碼:
foreach ($file in (Get-ChildItem "D:\Shares\WinCAP Data\DAYPROT\OFS-222_2")) {
if ($file.LastWriteTime = (Get-Date).AddDays(-1)) {
Copy-Item -Path "D:\Shares\WinCAP Data\DAYPROT\OFS-222_2\*.csv" -Destination "\\Oracle\MP"
"copying $file"
} else {
"not copying $file"
}
}
有什么問題 - 有什么建議嗎?
您需要將日期與-gt
進行比較,否則您正在尋找在該確切時間復制的文件。
請注意,執行(Get-Date).AddDays(-1)
是完全有效的,但會為您提供過去 24 小時內修改的任何內容。
$DestinationFolder = "\\Oracle\MP\"
$EarliestModifiedTime = (Get-date).AddDays(-1)
$Files = Get-ChildItem "D:\Shares\WinCAP Data\DAYPROT\OFS-222_2\*.csv"
foreach ($File in $Files) {
if ($File.LastWriteTime -gt $EarliestModifiedTime)
{
Copy-Item $File -Destination $DestinationFolder
Write-Host "Copying $File"
}
else
{
Write-Host "Not copying $File"
}
}
如果您不想寫出“復制...”和“不復制...”,那么您可以將其簡化很多。
$DestingationFolder = "\\Oracle\MP\"
$EarliestModifiedTime = (Get-date).AddDays(-1)
Get-ChildItem -File |? { $_.LastWriteTime -gt $EarliestModifiedTime } | Copy-Item -Destination $DestingationFolder
最后,如果您想從昨天開始(例如午夜開始)復制任何內容,請更改以下行:
$EarliestModifiedTime = (Get-date).AddDays(-1).Date
@Mr Tree 我還有一個相關的問題。
我每天在 D:\\Shares\\WinCAP Data\\DAYPROT\\OFS-HT(位置 1)位置有幾次新文件,固定名稱為 abcDD.MM.YYYY.csv(abc03.09.2015.csv),我有一項服務每 10 分鍾調用一次下面的我的 powershell 腳本。 我按照你之前在上層帖子中的建議做了。 我的目標是: 1. 檢查是否有名為 abcDD.MM.YYYY.csv 的新文件 | 2. 將其重命名為 abcDD.MM.YYYYHT.csv 並將其移動到“\\Oracle\\MP\\PURO\\”(位置 2)文件夾中,我需要在其中使用當天的現有內容重寫它。
問題是如果文件已經存在於位置2,腳本不想移動它並重寫它? 謝謝你的提示。
$DestingationFolder = "\\Oracle\MP\PURO\"
$EarliestModifiedTime = (Get-date).AddDays(-1)
Get-ChildItem "D:\Shares\WinCAP Data\DAYPROT\OFS-HT\*.csv" | ?{!($_.fullname -match "HT\.csv")} | Rename-Item -NewName { $_.Name -replace "\.csv", "HT.csv" }
$Files = Get-ChildItem "D:\Shares\WinCAP Data\DAYPROT\OFS-HT\*.csv" -File
foreach ($File in $Files) {
if ($File.LastWriteTime -gt $EarliestModifiedTime)
{
Move-Item $File -Destination $DestingationFolder
Write-Host "Moving $File"
}
else
{
Write-Host "Not moving $File"
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.