代码之家  ›  专栏  ›  技术社区  ›  Victor Hurdugaci

PowerShell复制项我做错了什么?

  •  2
  • Victor Hurdugaci  · 技术社区  · 15 年前

    给定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\script\code而不是x\backup\code复制的

    有什么问题?

    1 回复  |  直到 15 年前
        1
  •  5
  •   Keith Hill    15 年前
    $BackupDirectoy       = "..\Backup"
    $CodeDirectory        = "..\Code"
    

    这些路径将与运行脚本时提示所在的当前目录相关。我怀疑你不想那样做,但想相对于 脚本 位于。如果是这种情况,请尝试此操作:

    $ScriptDir      = Split-Path $MyInvocation.MyCommand.Path -Parent
    $BackupDirectoy = "$ScriptDir\..\Backup"
    $CodeDirectory  = "$ScriptDir\..\Code"