Pergunta

Dada a estrutura dir:

x\Code
x\Script\Backup.ps1

Backup.ps1 contém:

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

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

BackupCurrentVersion

Eu estou fazendo algo errado porque o código é copiado em x \ Script \ Code vez de x \ Backup \ Code

Qual é o problema?

Foi útil?

Solução

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

Esses caminhos vão ser relativo à dir atual seu prompt está sentado em quando você executar o script. Eu suspeito que você não quer isso, mas deseja executar em relação a onde o roteiro está localizado. Tente isto se este for o caso:

$ScriptDir      = Split-Path $MyInvocation.MyCommand.Path -Parent
$BackupDirectoy = "$ScriptDir\..\Backup"
$CodeDirectory  = "$ScriptDir\..\Code"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top