【发布时间】:2020-10-09 15:21:59
【问题描述】:
我有一个包含多个文件夹的文档库“Documents1”。尝试编写一个 powershell 脚本将放置在多个子文件夹中的文件(必须从 .xlsx 读取)移动到同一 doc lib 下另一个名为“redundant”的文件夹。 对 powershell 来说很新,只是在下面尝试了一些东西,但没有帮助
$Web = Get-SPWeb "test.com"
$DocLib = $Web.Lists["Documents1"]
$filenames = Get-Content 'F:\sample\test4.xlsx' | Select-Object -Unique
$result = foreach($name in $filenames) {
$move = foreach ($ListItem in ($DocLib.Items | Where-Object { $_["Name"] -like "*$name*" })) {
$File = $DocLib.Files.Add($ListItem.Name, $ListItem, $true)
}
}
}
【问题讨论】:
-
需要更多信息。听起来您正试图将文件从 Documents1 文件夹下的多个子文件夹移动到“冗余”文件夹。这个对吗?如果是这样,我在您的代码中看不到“冗余”,xlsx 文件中存在哪些信息?是选定的文件名吗?运行上述内容时您收到的错误/结果是什么?
-
是的,试图将文件从多个子文件夹移动到冗余文件夹。并且 XLSX 文件包含 pdf 文件名(例如 adbc.pdf),需要从多个子文件夹中搜索才能将其移动到 Redundant。当我尝试在我的 powershell 窗口上方运行时,它刚刚关闭。
-
从 xlsx 读取是一个硬性要求吗?要从 excel 中读取,您需要使用 PSExcel 模块。如果将文件名放在txt文件中会更容易。
-
no..我最初尝试使用 txt 文件...没有 xlsx 这样的硬规则。无论如何,我尝试关闭我的 powershell 窗口。我应该在哪里提到要移动到冗余文件夹的文件?
标签: powershell sharepoint document