PowerShell Copy-Item我做错了什么?

Vic*_*aci 2 powershell copy-item

给定dir结构:

x\Code
x\Script\Backup.ps1
Run Code Online (Sandbox Code Playgroud)

Backup.ps1包含:

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

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

BackupCurrentVersion
Run Code Online (Sandbox Code Playgroud)

我做错了,因为代码被复制到x\Script\Code而不是x\Backup\Code

问题是什么?

Kei*_*ill 5

$BackupDirectoy       = "..\Backup"
$CodeDirectory        = "..\Code"
Run Code Online (Sandbox Code Playgroud)

当您运行脚本时,这些路径将相对于您的提示所在的当前目录.我怀疑你不想这样但想要相对于脚本所在的位置运行.如果是这种情况,请尝试这样做:

$ScriptDir      = Split-Path $MyInvocation.MyCommand.Path -Parent
$BackupDirectoy = "$ScriptDir\..\Backup"
$CodeDirectory  = "$ScriptDir\..\Code"
Run Code Online (Sandbox Code Playgroud)