【发布时间】:2019-01-07 09:02:52
【问题描述】:
对 SharePoint online 和 Powershell 来说都是新手,并认为这将是一项非常简单的任务,但我正在寻求帮助。
我有一个客户,他的照片存储在文件共享的多个文件夹中,他们希望将其移动到 SharePoint。他们希望使用文件退出位置的文件夹名称作为元数据来简化搜索。
这是我正在使用的脚本,但运气不佳。
$connection = Connect-PnPOnline https://somecompany.sharepoint.com -Credentials $me -ReturnConnection
$files = Get-ChildItem "F:\some data" -Recurse
foreach ($file in $files)
{Add-PnPFile -Path $file.FullName -Folder Photos -Values @{"Title" = $file.Name;} -Connection $connection}
我遇到的问题是,这不会递归文件夹并返回“找不到本地文件”
如果我能做到这一点,我可以继续将当前文件夹名称作为变量获取到元数据中。
我很确定这对于专家来说将是一项简单的任务,但可惜我不是。任何帮助将不胜感激。
谢谢 贾森
【问题讨论】:
-
所以...什么没有按预期工作? [grin] 看起来您的元数据在
-Values参数输入中......并且只显示文件名,而不是文件所在的文件夹。您想要整个目录名称还是只是直接的父目录名称? -
两件事我无法正常工作对不起。我无法让它递归并上传一系列文件夹下的所有文件。我不需要复制文件夹,只需将这些文件夹下的所有文件复制到一个库中即可。其次,我无法获得将当前文件夹用作元数据的嵌套(或实际上是变量)的权利。
-
$File.Directory.Name会给你包含目录的名称,而不是路径的更高级别部分。 ///// 看起来您需要指定-Folder才能将文件放在sharepoint 上的一个文件夹中。 ///// 很明显,我无法访问共享点...我只是在阅读他的 MSDocs 站点信息。 [咧嘴] -
一个额外的点......你可能会将这两点添加到你的 OP 中,这样其他人就会看到它们而不是唠叨你。 [咧嘴]
-
谢谢李。我已经更新了我原来的问题。就 -Folder 而言,它已经存在,如果我手动将子文件夹添加到路径并删除 -Recurse,则上传工作正常。现在测试目录名称。
标签: powershell sharepoint-online