当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:PowerShell 从 CSV 文件在文档库中批量创建文件夹

作者:精品下载站 日期:2024-12-14 21:18:11 浏览:16 分类:玩电脑

SharePoint Online:PowerShell 从 CSV 文件在文档库中批量创建文件夹


要求:从 SharePoint Online 中的 CSV 文件在文档库中创建多个文件夹。

PowerShell 在 SharePoint Online 中从 CSV 文件批量创建文件夹:

您是否希望在 SharePoint Online 中创建多个文件夹,但不想一次创建一个?也许您想为新项目创建文件夹结构或将文档分类为不同的类别。本文将向您展示如何使用PowerShell快速创建多个文件夹。

我必须在 SharePoint Online 文档库中创建多个文件夹!此 PowerShell 脚本从 CSV 文件中获取文件夹名称,并在指定的文档库中创建文件夹。


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Ops"
$CSVFilePath = "C:\Temp\Folders.csv"
$LibraryName = "Documents"

Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteURL -Interactive
    $Web = Get-PnPWeb

    #Get the Document Library and its site relative URL
    $Library = Get-PnPList -Identity $LibraryName -Includes RootFolder
    If($Web.ServerRelativeUrl -eq "/")
    {
        $LibrarySiteRelativeURL = $Library.RootFolder.ServerRelativeUrl
    }
    else
    {
        $LibrarySiteRelativeURL = $Library.RootFolder.ServerRelativeUrl.Replace($Web.ServerRelativeUrl,'')
    }

    #Get the CSV file
    $CSVFile = Import-Csv $CSVFilePath
 
    #Read CSV file and create folders
    ForEach($Row in $CSVFile)
    {
        #Replace Invalid Characters from Folder Name, If any
        $FolderName = $Row.FolderName
        $FolderName = [RegEx]::Replace($FolderName, "[{0}]" -f ([RegEx]::Escape([String]'\"*:<>?/\|')), '_')

        #Frame the Folder Name
        $FolderURL = $LibrarySiteRelativeURL+"/"+$FolderName

        #Create Folder if it doesn't exist
        Resolve-PnPFolder -SiteRelativePath $FolderURL | Out-Null
        Write-host "Ensured Folder:"$FolderName -f Green
    }
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

这将为您节省大量时间,并确保整个站点的文件夹结构更加一致。这是我的 CSV 文件格式:

[玩转系统] SharePoint Online:PowerShell 从 CSV 文件在文档库中批量创建文件夹

您可以在此处下载 CSV 文件:

PowerShell 在 SharePoint Online 中从 CSV 文件创建文件夹和子文件夹

在多个文档库中创建文件夹和子文件夹怎么样?这是我的 CSV 格式:

[玩转系统] SharePoint Online:PowerShell 从 CSV 文件在文档库中批量创建文件夹


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$CSVFilePath = "C:\Temp\Folders.csv"
 
Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteURL -Interactive

    #Get the CSV file
    $CSVFile = Import-Csv $CSVFilePath
  
    #Read CSV file and create folders
    ForEach($Row in $CSVFile)
    { 
        #Create Folder if it doesn't exist
        Resolve-PnPFolder -SiteRelativePath $Row.FolderSiteRelativeURL | Out-Null
        Write-host "Ensured Folder:"$Row.FolderSiteRelativeURL -f Green
    }
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

如果要将本地文件夹结构克隆到 SharePoint Online 网站,请使用:使用 PowerShell 将文件夹结构上传到 SharePoint Online

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯