[英]Sort file in SFTP based on datetime using PowerShell
我在 SFTP 文件夾中有多個文件是在同一時間創建的,但文件名的日期不同。 示例文件:
REGISTRATION_ELI_20210422_071008.csv
REGISTRATION_ELI_20210421_071303.csv
REGISTRATION_ELI_20210420_071104.csv
我想復制 1 個文件名中包含今天日期的文件並將其發送到本地。 我可以使用哪個屬性來列出文件並復制與今天日期匹配的文件?
#Setting credentials for the user account
$password = ConvertTo-SecureString "password" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential ("gomgom", $password)
$SFTPSession = New-SFTPSession -ComputerName 172.16.xxx.xxx -Credential $Credential -AcceptKey
# Set local file path and SFTP path
$LocalPath = "D:\WORK\Task - Script\20221010 - AJK - ITPRODIS380 - upload file csv ke sql server\csvfile"
$SftpPath = '/Home Credit/Upload/REGISTRATION_ELI_*.csv'
Get-SFTPItem -SessionId $SFTPSession.SessionID -Path $SftpPath -Destination $LocalPath | Sort-Object {[datetime] ($_.BaseName -replace '^.+_(\d{4})(\d{2})(\d{2}) (\d{2})(\d{2})', '$1-$2-$3 $4:$5:') } | Select-Object Name
Remove-SFTPSession $SFTPSession -Verbose
您可以嘗試像這樣更改您的 $SftpPath :
$SftpPath = "/Home Credit/Upload/REGISTRATION_ELI$([datetime]::Now.toString('yyyyMMdd'))_*.csv"
我在他尋找的路徑中介紹日期:
/Home Credit/Upload/REGISTRATION_ELI20221221_*.csv
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.