0

我有多个文件需要发送到 FTP 站点。这些文件始终为 .CSV,但文件名不断变化。

我有一个可以成功发送文件的 PowerShell 脚本。但是代码具有硬编码的文件名。我似乎找不到动态选择文件名并将其写入具有动态文件名的 FTP 站点的方法。(希望这是有道理的)

有人可以帮忙吗?

非常感谢

4

1 回答 1

2

还有其他可以使用的属性吗?例如,在我的情况下,我经常必须选择目录中的最新文件。我使用 LastWriteTime 属性做了类似的事情。

$lastWrittenCSV = Get-ChildItem -Path C:\csvFiles\ -Filter *.csv | Sort-Object -Descending LastWriteTime | Select-Object -First 1

然后,您可以针对$lastWrittenCSV.FullName(完整路径)运行脚本并将其上传为$lastWrittenCSV.Name(仅文件名)。

您甚至可以使用某种标志文件来跟踪自上次上传以来哪些文件是新文件,然后上传它们:

$flagFile = Get-Item C:\csvFiles\lastupload.flg

Get-ChildItem -path C:\csvFiles\ -Filter *.csv | ? {$_.LastWriteTime -gt $flagFile.lastWriteTime} | ForEach {Upload-File $_.FullName}

New-Item -ItemType File -Force -Path $flagFile.FullName

祝你好运!

于 2012-08-06T12:05:09.660 回答