2

dir構造を考えると:

x\Code
x\Script\Backup.ps1

Backup.ps1 には以下が含まれます。

$BackupDirectoy       = "..\Backup"
$CodeDirectory        = "..\Code"

function BackupCurrentVersion()
{
  New-Item $BackupDirectoy -type directory -force
  Copy-Item $CodeDirectory -destination $BackupDirectory -recurse
}

BackupCurrentVersion

コードが x\Backup\Code ではなく x\Script\Code にコピーされるため、何か問題があります

何が問題ですか?

4

1 に答える 1

5
$BackupDirectoy       = "..\Backup"
$CodeDirectory        = "..\Code"

これらのパスは、スクリプトを実行したときにプロンプ​​トが置かれている現在のディレクトリからの相対パスになります。あなたはそれを望んでいないと思いますが、スクリプトが配置されている場所に対して相対的に実行したいと考えています。このような場合は、次のことを試してください。

$ScriptDir      = Split-Path $MyInvocation.MyCommand.Path -Parent
$BackupDirectoy = "$ScriptDir\..\Backup"
$CodeDirectory  = "$ScriptDir\..\Code"
于 2009-11-12T20:21:19.967 に答える