PowerShell Copy-Item o que estou fazendo de errado?
-
19-09-2019 - |
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?
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