我只需要移动位于以下位置的文件夹的内容(文件和子文件夹):
\\服务器A\关键\
到新文件夹,其名称必须是本地日期:
\\serverB\dd-mm-yyyy
然后清除 \serverA\critical\ 的所有内容
我如何在 powershell 中做到这一点?
谢谢!
答案1
如果将每个文件夹创建为单独的共享,则可能会相当困难,您将不得不使用 WMI 调用才能实现目标。
但是如果你将关键文件放置到父级共享中,则可以大大简化这个问题。
查看下面的 powershell 示例:
`$sourceparent = "\\serverA\parentshare\"
$destinationparent = "\\serverB\parentshare\"
$source = "critical"
$destination = $destinationparent + (Get-Date -format d).ToString()
cd $parent
try{
Write-Host "Copying from source to destination"
Copy-Item $source $destination -Recurse
}
catch{
Write-Host "Unable to copy, deletion cancelled"
break
}
finally{
Write-Host "Copy finisehd, deleting source files"
Remove-Item ($source + "\*")
}`
它将抓取 \\ServerA\parentshare\critical 中的所有内容并复制到 \\ServerB\parentshare\29-Jan-16 。操作完成后, \\ServerA\parentshare\critical 中的所有内容将被删除。
如果您有更多疑问,请告诉我。
问候,Vlad,CloudBerry 实验室