簡體   English   中英

使用 PowerShell 根據日期時間對 SFTP 中的文件進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM