【问题标题】:Powershell Archive script win2008r2 problemsPowershell存档脚本win2008r2问题
【发布时间】:2013-07-19 14:56:41
【问题描述】:

我创建了一个 ps 脚本来将 MS SCCM 备份文件夹移动到另一个位置并删除超过 2 天的文件夹:

$Date = Get-Date -format d.M.yyyy
$BackupDir = "\\Source_Servername\Folder1\Folder2"
$ArchiveDir = "\\Destination_Servername\Folder1\Folder2"
set-alias 7za "$ArchiveDir\7za.exe"    
Get-Item "$ArchiveDir\*" |? {$_.psiscontainer -and $_.lastwritetime -le (get-date).adddays(-2)} |% {remove-item $_ -Recurse -Confirm:$false}
7za a -r "$ArchiveDir\$Date\$BackupDir.7z" $BackupDir

我使用 Win 8 创建了它,当我尝试在 win2008r2 服务器上应用它时,它失败并出现以下错误:

错误的数字常量:7。 在 E:\xxxxx\xxxxx\xxxx\Afterbackup.ps1:9 char:2 + 7

当我像这样输入 7za.exe 的完整路径时它可以工作: \Destination_Servername\Folder1\Folder2\7za a -r "$ArchiveDir\$Date\$BackupDir.7z" $BackupDir

我是 powershell 新手,所以我会寻求任何帮助:)

【问题讨论】:

    标签: powershell


    【解决方案1】:

    PowerShell v1 和 v2 不喜欢以数字开头的命令。该问题似乎已在 v3 中得到解决,这可能就是它在您的工作站上运行的原因。您可以通过在执行时在别名前面放置一个反引号来解决此问题:

    `7za a -r "$ArchiveDir\$Date\$BackupDir.7z" $BackupDir
    

    或者,您可以将别名更改为不以数字开头。

    【讨论】:

      猜你喜欢
      • 2015-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-17
      • 2019-07-30
      • 2017-10-23
      相关资源
      最近更新 更多