使用PowerShell将文件复制到共享驱动器

时间:2017-08-28 12:40:03

标签: powershell powershell-v3.0

我有一个脚本powershell,脚本сopies数据库备份文件到网络驱动器。 该脚本仅从2复制1个文件。 我想将本地磁盘D中的所有文件复制到网络驱动器和归档文件。 我该如何修复这个脚本?

$TimeStamp = get-date -f dd_MM_yyyy

$Destination = "M:\networkdrive\folder\BACKUP_10.200.153.55\DATA_" + $TimeStamp

New-Item -ItemType directory -Path $Destination -Force

Copy-Item -Path D:\MSSQL\BACKUP\*.* -Destination $Destination -Force

Remove-Item D:\MSSQL\BACKUP\*.*

2 个答案:

答案 0 :(得分:1)

这会将您的备份文件夹(已压缩)发送到网络商店。

#requires -Version 5

$Destination = "M:\networkdrive\folder\BACKUP_10.200.153.55\DATA_$(Get-Date -f dd_MM_yyyy).zip"

Compress-Archive -Path D:\MSSQL\BACKUP\* -DestinationPath $Destination -CompressionLevel Optimal -Force -ErrorAction Stop

Get-ChildItem D:\MSSQL\BACKUP -Recurse -Force | Remove-Item -Force

答案 1 :(得分:0)

您将不得不循环查找所有文件并复制每个文件。我建议做类似的事情:

$TimeStamp = get-date -f dd_MM_yyyy
$Destination = "M:\networkdrive\folder\BACKUP_10.200.153.55\DATA_" + $TimeStamp
New-Item -ItemType directory -Path $Destination -Force

gci "D:\MSSQL\BACKUP" -recurse | %{ #loops through al files in that folder and subfolders
    #gets path to file
    $file = $_.Fullname

    #copies file 
    Copy-Item -Path $file -Destination $Destination -Force 

    #removes file from original location
    Remove-Item $file 
}