如何检查文件是否是上次修改的,并且仅使用 Add-PnPFile 将修改后的文件从本地上传到使用 PowerShell 的 SharePoint
How to check whether the file is last modified or not and only upload the modified file using Add-PnPFile from local to SharePoint using PowerShell
我正在尝试通过 Add-PnPFile 将文件从本地上传到 Sharepoint。
但是每次我上传文件时,它都会覆盖现有文件。如果现有文件没有被修改,它仍然会再次上传。
我想检查文件是否已经存在?如果是,那么我想检查修改日期是否在最近 1 天内被修改?
有没有关于检查和仅上传修改后的文件的建议?
代码到现在(我错过了我假设的检查文件,不知道如何去做。)
#install and import module
Import-Module SharePointPnPPowerShellOnline
#Get Connection to the url
Connect-PnPOnline "Some SharePoint Url" -UseWebLogin
#get the files from a local folder
$Files = Get-ChildItem "C:\Some Local FolderPath" -Recurse
#Now check wether the file is being modified or not ?
foreach($File in $Files){
$LastWriteTimeForThisFile = $File.LastWriteTime.Day
$difference = (Get-Date).Day - $LastWriteTimeForThisFile
if ( $difference -lt 1)
{
$upload = Add-PnPFile -Path $File.FullName -Folder $SharePointFolderPath
#$message = "Successfully Uploaded"
Write-Host "======================Successfully Uploaded==============================="
}
else{
Write-Host "=========Not Modified so not uploading again============"
}
}
您可以将您的文件名与上传到SharePoint 的路径连接起来,并使用Get-PnPFile 检查文件是否存在。如果文件存在,查看文件的修改时间
try {
$file=Get-PnPFile -Url "/sites/dev/Shared Documents/Facebook.png"-ErrorAction Stop
$file
#do file exist action
}
catch {
Write-Host "$($_.Exception.Message)" -Foregroundcolor Red
#do file not exist action
}
我正在尝试通过 Add-PnPFile 将文件从本地上传到 Sharepoint。 但是每次我上传文件时,它都会覆盖现有文件。如果现有文件没有被修改,它仍然会再次上传。
我想检查文件是否已经存在?如果是,那么我想检查修改日期是否在最近 1 天内被修改?
有没有关于检查和仅上传修改后的文件的建议? 代码到现在(我错过了我假设的检查文件,不知道如何去做。)
#install and import module
Import-Module SharePointPnPPowerShellOnline
#Get Connection to the url
Connect-PnPOnline "Some SharePoint Url" -UseWebLogin
#get the files from a local folder
$Files = Get-ChildItem "C:\Some Local FolderPath" -Recurse
#Now check wether the file is being modified or not ?
foreach($File in $Files){
$LastWriteTimeForThisFile = $File.LastWriteTime.Day
$difference = (Get-Date).Day - $LastWriteTimeForThisFile
if ( $difference -lt 1)
{
$upload = Add-PnPFile -Path $File.FullName -Folder $SharePointFolderPath
#$message = "Successfully Uploaded"
Write-Host "======================Successfully Uploaded==============================="
}
else{
Write-Host "=========Not Modified so not uploading again============"
}
}
您可以将您的文件名与上传到SharePoint 的路径连接起来,并使用Get-PnPFile 检查文件是否存在。如果文件存在,查看文件的修改时间
try {
$file=Get-PnPFile -Url "/sites/dev/Shared Documents/Facebook.png"-ErrorAction Stop
$file
#do file exist action
}
catch {
Write-Host "$($_.Exception.Message)" -Foregroundcolor Red
#do file not exist action
}