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 に答える