社外FTPサーバーから社内のProxyを経由して、社外サーバーにある特定のフォルダ内のファイルの内、最新のファイルのみを社内PCに保存するバッチをPoweshellで作成しています。手始めに下記のように、まずftpサーバ内にあるtest.aaaをローカルに保存するps1ファイルを作成し、まわしてみましたが、(2個の引数を指定して”DownloadFile”を呼び出し中に例外が発生しました:”WebClient要求で例外が発生しました”)のエラーがでました。
何が原因なのでしょうか?コメントいただけたら幸いです。
また、FTPサーバ内のフォルダ内のファイルの内、最新のファイルをDLする部分も書けていません。この部分もどのように書いたらいいか、お教えいただけたらと思います。
$ftpurl = "ftp://AAA.com"
$ftpuser = "BBB"
$ftppass = "CCC"
$proxyid = "DDD"
$proxypass = "EEE"
#DL対象ファイルの場所
$target_url = "ftp://test/test.aaa"
#ローカルでの保存先
$file_path = "C:\test"
#WebClientとWebProxyのObject作成,Credential
$wc = New-Object System.Net.WebClient
$wc.Credentials = New-Object System.Net.NetworkCredential($ftpuser, $ftppass)
$wc.BaseAddress = $ftpurl
$wp = New-Object System.Net.WebProxy("http://proxy.XXX.co.jp:21",$true)$wp.Credentials = New-Object System.Net.NetworkCredential($proxyid, $proxypass)
$wc.Proxy = $wp
#ファイルのダウンロード
$wc.DownloadFile($target_url, $filepath)