說明
- 原始檔案格式為YYYYMMDD.txt
- 複製後檔案格式為YYYYMMDD_003.txt
- 並可以透過參數$targetDate 來決定要抓取天數
# 指定源目錄的路徑
$sourcePath = "D:\card\"
# 指定目標目錄的路徑
$destinationPath = "\\192.168.0.216\card\"
# 指定後輟
$suffix = "_003"
# 設定目標日期(例如:10天後)
$targetDate = (Get-Date).AddDays(-1).ToString("yyyyMMdd")
# 取得符合條件的檔案列表
$filesToCopy = Get-ChildItem -Path $sourcePath -Recurse | Where-Object {
$_.Extension -eq '.txt' -and $_.BaseName -match '^\d{8}$' -and $_.BaseName -ge $targetDate
}
# 進行檔案複製
foreach ($file in $filesToCopy) {
# 獲取目標檔案的新名稱(加上後輟)
$newFileName = $file.BaseName + $suffix + $file.Extension
$destinationFile = Join-Path $destinationPath $newFileName
# 顯示複製檔案到
Write-Host "複製檔案到:$destinationFile"
# 複製檔案
Copy-Item -Path $file.FullName -Destination $destinationFile -Force
}
Write-Host "複製完成。"
沒有留言:
張貼留言