我是PowerShell的新手 我在powershell中有以下代码 文件正从AS400服务器移动到\ ServerZoro \ AS400文件夹和#200子文件夹。
AS400管理员说他的一方正在工作
从Zoro服务器到Sharepoint 2013服务器文件被复制到#200个人文件夹(它们是销售报告)
Sharepoint代码运行正常,不包含在此处。
问题是: as400服务器不断将新文件推送到\ Serverzoro \ AS400文件夹和#subfolders(当脚本运行时)
我需要一些PowerShell代码: 1)在删除仅复制的#files之前,将目标文件与源(?)进行比较,以便在添加新文件时不会删除它们。
脚本每15分钟运行一次,我现在把它设置为30分钟。
Sharepoint方面完美地完成了上面的代码我遇到了问题。随机销售人员错过报告
一个星期,其中4人失去了4份报告。
下周,1人失去了一份报告
今天有4名推销员错过了4份报告。
帮助赞赏!!!
$SourceReportDump = "\\ServerZoro\as400"
# Drive X below goes into the sp2013 server perfectly
$TargetReportDump = "x:"
$IncludeFiles = ("*.pdf","*.xls","*.xlsx","*.txt")
$WebUrl = "http://sp2013.sitename.com/sites/reports"
$DocLibraryName = "AS400Reports"
$DocLibraryUrlName = "AS400Reports"
#Move reports into Sharepoint
$CopyReports = Get-ChildItem -Path $SourceReportDump | Copy-Item -Destination $TargetReportDump -Recurse
$MoveReports = Get-ChildItem -Path $SourceReportDump -Recurse -include $IncludeFiles | sort datemodified -Descending | select -Skip 65 | Remove-Item
答案 0 :(得分:1)
使用move命令而不是复制+删除(如果您的复制工作和删除不起作用?)
就像这样
$SourceReportDump = '\\ServerZoro\as400'
$TargetReportDump = 'x:'
$IncludeFiles = ("*.pdf","*.xls","*.xlsx","*.txt")
Get-ChildItem -Path $SourceReportDump -file -Recurse -include $IncludeFiles | %{$newpath=$_.DirectoryName -Replace [regex]::escape($SourceReportDump),$TargetReportDump; if ($newpath -ne $TargetReportDump) {new-item -ItemType Directory -path $newpath -Force} ; move-item $_.FullName "$newpath\$($_.Name)" -Force }