27

プロセスを自動化してインストールするために必要なファイルをダウンロードするようにセットアップしようとしています。スクリプトを実行するたびにエラーが発生し続けますが、日曜日から7つの方法でスクリプトを変更しましたが、それでもエラーが発生します。

スクリプトは次のとおりです。

  if (test-path $java_path)

   {
   Write-Output "Java already installed. Skipping script"
   exit 0
    }

  else 

    {
      $source = "http://our.server.com/java-installer.zip"
      $destination = "c:\CHPACS"
      $client = new-object System.Net.WebClient
      $client.DownloadFile($source, $destination)

      }

私が受け取っているエラーメッセージは

 Exception calling "DownloadFile" with "2" argument(s): "An exception occurred during a WebClient request."
 At C:\ps_script\testjava.ps1:41 char:31
 +           $client.DownloadFile <<<< ($source, $destination)
 + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
 + FullyQualifiedErrorId : DotNetMethodException

これを正しく機能させるために関数を作成する必要がありますか?

ありがとうございました:

4

3 に答える 3

44

メソッドのMSDNドキュメントを見るとDownloadFile、2番目のパラメーターがディレクトリではなくファイル名であることがわかります。$destinationしたがって、次のようなものに再定義すると、次のようになります。

$destination = "c:\CHPACS\java-installer.zip"

その後、それは動作するはずです。

次に、ダウンロードしようとしているファイルが現在開いていないか、実行されていないことを確認します。この例外は、ファイルが使用中の場合に発生します。

于 2012-12-04T23:03:39.310 に答える
20

+Davidが言ったようにファイル名を付ける必要があります+フォルダが存在する必要があります。

于 2014-01-16T16:27:20.450 に答える
1

私の場合、スクリプトを実行しようとしたマシンでURLに到達できませんでした。ファイルをダウンロードするために、プロキシルールを有効にしてマシンにスコープを設定する必要がありました。

于 2020-12-21T14:45:54.283 に答える