0
我有一个powershell脚本,将文件夹复制到新目录,然后根据当前日期重命名该新目录。复印功能的伟大工程,但我得到当它重新命名的目录下面的错误信息:无法重命名目录powershell
Rename-Item : Access to the path '\\DPR320-W12-1600\PRTG\6212016 backup' is denied.
我想,这可能是由于正在发生被执行的行权之前,因为我不复制当该命令由自己运行时获取该错误消息。复制完成后,是否可以立即重命名文件夹?任何帮助将不胜感激。我已经完整地粘贴了下面的脚本。
$targetdirectory = "\\DPR320-W12-1600\PRTG"
$sourcedirectory = "C:\Users\Public\Documents\PRTG Traffic Grapher"
$todaysdate=get-date
$minusoneweek=$todaysdate.adddays(-7)
$minusdate=($minusoneweek.Month).tostring(),($minusoneweek.day).tostring(),($minusoneweek.year).tostring()
$todaysdatestring=($todaysdate.Month).tostring(),($todaysdate.day).tostring(),($todaysdate.year).tostring()
$oldfilename=$minusdate[0]+$minusdate[1]+$minusdate[2]+" backup"
$newfilename=$todaysdatestring[0]+$todaysdatestring[1]+$todaysdatestring[2]+" backup"
$Threshold = (get-date).AddMonths(-18)
$culture = [Globalization.CultureInfo]::InvariantCulture
$count=0
Get-ChildItem $sourcedirectory\config | Where-Object {
$_.PsIsContainer -and
$_.BaseName -match '\d{6}' -and
([DateTime]::ParseExact($_.BaseName, 'yyyyMMdd', $null) -gt (Get-Date).AddDays(-7))
} |Copy-Item -Recurse -Force -Destination $targetdirectory\$oldfilename\config
Copy-Item -Force $sourcedirectory\config.csv -Destination $targetdirectory\$oldfilename
Copy-Item -Force $sourcedirectory\config.prtg -Destination $targetdirectory\$oldfilename
rename-item $targetdirectory\$oldfilename $newfilename
$CleanupList = Get-ChildItem $targetdirectory\$newfilename\config
foreach ($DirName in $CleanupList)
{
try {
If([datetime]::ParseExact($DirName.BaseName, 'yyyyMMdd', $culture) -lt $Threshold)
{
write-host [datetime]::ParseExact($DirName.BaseName, 'yyyyMMdd', $culture)
#Remove-Item $DirName.FullName -Force -Recurse
}
Write-Host $count
$count=$count+1
}
catch {
Write-Host $count
$count=$count+1
continue
}
}