该回答引用ChatGPT
如有疑问还请 回复我
可以使用以下PowerShell脚本来实现这个任务:
# 设置源文件夹路径和输出路径
$sourceFolder = "D:\2022年12月21日朝花朝拾背单词软件\2019高中人教版\theCollection\AdobeAIR\Versions\myResources\2023年3月3日"
$outputFile = "D:\2022年12月21日朝花朝拾背单词软件\2019高中人教版\theCollection\AdobeAIR\Versions\myResources\myDoc.docx"
# 合并所有docx文件到输出文件
$wordApp = New-Object -ComObject Word.Application
$wordDoc = $wordApp.Documents.Add()
$docxFiles = Get-ChildItem $sourceFolder -Filter *.docx
foreach ($docxFile in $docxFiles) {
$doc = $wordApp.Documents.Open($docxFile.FullName)
$doc.Content.Select()
$doc.Content.Copy()
$selection = $wordDoc.Range()
$selection.Collapse([Microsoft.Office.Interop.Word.WdCollapseDirection]::wdCollapseEnd)
$selection.Paste()
$doc.Close()
}
$wordDoc.SaveAs($outputFile)
$wordDoc.Close()
$wordApp.Quit()
# 压缩源文件夹内的docx文件到myDoc.zip
$zipFile = "D:\2022年12月21日朝花朝拾背单词软件\2019高中人教版\theCollection\AdobeAIR\Versions\myResources\myDoc.zip"
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::CreateFromDirectory($sourceFolder, $zipFile)
# 删除源文件夹内的docx文件
Remove-Item $sourceFolder\*.docx
在这个脚本中,我们首先指定了源文件夹路径和输出路径。然后,我们使用PowerShell的Get-ChildItem命令获取源文件夹中所有的docx文件,并使用foreach循环打开每个文件,并将其内容复制到一个新的Word文档中。最后,我们将新的Word文档保存到输出路径。
接下来,我们使用.NET的System.IO.Compression.FileSystem类来创建一个新的zip文件,并将源文件夹中所有的docx文件压缩到其中。最后,我们使用PowerShell的Remove-Item命令删除源文件夹中的所有docx文件。