在 PowerShell 中使用 WinSCP 从 SFTP 服务器下载特定文件名模式的最新文件
Download most recent file of specific file name pattern from SFTP server using WinSCP in PowerShell
我必须从 SFTP 位置复制文件掩码 FileName_A_*
的最新文件,并将它们放在共享驱动器中。
我尝试使用 WinSCP。我用下面的代码创建了一个 Mostrecent.txt
文件并将其放在 C:\Program Files (x86)\WinSCP
下。另一个批处理文件 Mostrecent.bat
用于执行来自 HourlyFile.txt
的脚本
Mostrecent.txt
option batch abort
option confirm off
open sftp..........
$source = '/outbound/test'
$destination = '\sharedrive\'
@(Get-ChildItem $source -Filter FileName_A_* | Sort LastWriteTime -Descending)[0] | % { Copy-Item -path $_.FullName -destination -force}
exit
Mostrecent.txt
option batch abort
option confirm off
open sftp..........
$dir= '/outbound/test/FileName_A_*'
get Dir | select -last 1 \sharedrive
exit
SFTP 位置将包含具有不同文件名和扩展名的不同文件。我只需要复制文件模式为 FileName_A_*
的最新文件。文件名将是:
FileName_A_20190619100000.txt
FileName_A_20190619110007.txt
FileName_A_20190619120040.txt
FileName_A_20190619130100.txt
您不能在 WinSCP 脚本中使用 PowerShell 结构。
WinSCP 具有 built-in 下载最新文件的功能:the -latest
switch of the get
command。
因此您的 Mostrecent.txt
文件可以是:
option batch abort
option confirm off
open sftp://..........
get -latest /outbound/test/FileName_A_* \sharedrive\
exit
另请参阅:
- WinSCP 文章Downloading the most recent file
- 问题WinSCP select most recent file
我必须从 SFTP 位置复制文件掩码 FileName_A_*
的最新文件,并将它们放在共享驱动器中。
我尝试使用 WinSCP。我用下面的代码创建了一个 Mostrecent.txt
文件并将其放在 C:\Program Files (x86)\WinSCP
下。另一个批处理文件 Mostrecent.bat
用于执行来自 HourlyFile.txt
Mostrecent.txt
option batch abort
option confirm off
open sftp..........
$source = '/outbound/test'
$destination = '\sharedrive\'
@(Get-ChildItem $source -Filter FileName_A_* | Sort LastWriteTime -Descending)[0] | % { Copy-Item -path $_.FullName -destination -force}
exit
Mostrecent.txt
option batch abort
option confirm off
open sftp..........
$dir= '/outbound/test/FileName_A_*'
get Dir | select -last 1 \sharedrive
exit
SFTP 位置将包含具有不同文件名和扩展名的不同文件。我只需要复制文件模式为 FileName_A_*
的最新文件。文件名将是:
FileName_A_20190619100000.txt
FileName_A_20190619110007.txt
FileName_A_20190619120040.txt
FileName_A_20190619130100.txt
您不能在 WinSCP 脚本中使用 PowerShell 结构。
WinSCP 具有 built-in 下载最新文件的功能:the -latest
switch of the get
command。
因此您的 Mostrecent.txt
文件可以是:
option batch abort
option confirm off
open sftp://..........
get -latest /outbound/test/FileName_A_* \sharedrive\
exit
另请参阅:
- WinSCP 文章Downloading the most recent file
- 问题WinSCP select most recent file