2023-12-18

[PowerShell]複製檔案功能

說明

  • 原始檔案格式為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 "複製完成。"


沒有留言:

張貼留言