Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File Powershell递归通过子文件夹循环-并组合二进制Docx文件_File_Powershell_Merge_Binary - Fatal编程技术网

File Powershell递归通过子文件夹循环-并组合二进制Docx文件

File Powershell递归通过子文件夹循环-并组合二进制Docx文件,file,powershell,merge,binary,File,Powershell,Merge,Binary,昨天,我收到了极好的帮助,帮助我将文本文件合并到子文件夹中 我想扩展它来帮助我合并二进制.docx文件 示例: 子文件夹1→ a.docx+b.docx+c.docx→ 子文件夹1Merged.docx 子文件夹2→ p.docx+q.docx+z.docx+f.docx→ 子文件夹2merged.docx 等等 我引用了安斯加尔的答案来帮助我 但是,没有错误-没有输出或合并任何文件。我肯定我错过了一些.com api? 我从昨天开始就一直在研究这个问题,没有发现任何东西可以帮助我解决

昨天,我收到了极好的帮助,帮助我将文本文件合并到子文件夹中

我想扩展它来帮助我合并二进制.docx文件

示例:

子文件夹1→ a.docx+b.docx+c.docx→ 子文件夹1Merged.docx

子文件夹2→ p.docx+q.docx+z.docx+f.docx→ 子文件夹2merged.docx

等等

我引用了安斯加尔的答案来帮助我

但是,没有错误-没有输出或合并任何文件。我肯定我错过了一些.com api? 我从昨天开始就一直在研究这个问题,没有发现任何东西可以帮助我解决这个问题

我使用powershell的技能是非常新的,我不熟悉VBscript——如果这是另一种选择的话


感谢您的帮助。

二进制文件无法通过
获取内容
进行处理,也无法通过简单的连接(如文本文件)进行合并。你有没有像约瑟夫建议的那样查过谷歌?你有Word供你使用吗?问题:这是你所有的代码吗?如果是,如何初始化
$Files
?这将只是$null。嗨,我从昨天开始一直在研究这个问题,我一直无法找到任何合并docx文件的powershell代码来帮助我:(
$startingDir = 'C:\Users\WP\Desktop\DocxFiles'
$combinedDir = 'C:\Users\WP\Desktop\CombinedDocxFiles'


$Word = New-Object -ComObject Word.Application
$objWord.Visible = $False

Foreach ($File in $Files) {
 $Doc = $Word.Documents.Open($File.FullName)

Get-ChildItem $startingDir -Recurse | Where-Object {
$docxFiles = Join-Path $_.FullName '*.docx'
$_.PSIsContainer -and (Test-Path $docxFiles)
} | ForEach-Object {
$merged = Join-Path $combinedDir ($_.Name + '_Merged.docx')
Get-Content $docxFiles | Set-Content $merged
}
}