1

次の簡単なスクリプトがあります。

$workingDir = "C:\foo\bar"
$projectsDir = "C:\foo"

Copy-Item -Path "$projectsDir\some subpath\MyFile1.dll" -Destination $workingDir
Copy-Item -Path "$projectsDir\somewhere else\MyFile2.dll" -Destination $workingDir
Copy-Item -Path "$projectsDir\another place\MyFile3.dll" -Destination $workingDir

なんらかの理由で、このスクリプトを実行するたびに、ファイルが正しい場所 ( $workingDir)にコピーされ、さらに にもコピーされ$projectsDir\some subpath\something\elseます。このスクリプトを実行するたびに、他の場所から余分なファイルを削除する必要があります。

これまでのところ、私は試しました:

  1. 変数名の変更
  2. 指定する-Destination "$workingDir\MyFile1.dll"
  3. 使用して$null = Copy-Item -Path "...."
  4. 私も置き換えてみましCopy-Itemxcopy.exe

そして何も変わらない。最初の Copy-Item コマンドにブレークポイントを設定し、変数を調べたところ、すべて正しく表示されていました。何が起きてる?

4

2 に答える 2

0

私が考えることができる唯一の他のことは、次のcopy-itemように実行することです:

Copy-Item -Path $($projectsDir + "\some subpath\MyFile1.dll") -Destination $workingDir

これは、Variable + SomethingElse シナリオのほぼすべてを宣言する方法です。この動作をまだ確認していないので、戻ってさらにテストし、何が見つかるかを確認します。別のことを思いついたら、答えをやり直します。

于 2012-08-16T17:11:28.290 に答える
0

コンピューターを再起動しました。問題が解決しました。

于 2012-08-16T17:12:13.693 に答える