我有一堆幻燈片演示文稿,我需要提取每個人的圖像。我注意到(通過用WinRar打開PPT文件)它包含所有圖像所在的「媒體」文件夾。是否有任何形式可以爲每個文件的每個文件提取「Media」文件夾,然後爲每個文件提取一個文件夾?如何使用PowerShell腳本從很多.PPT文件中提取媒體文件夾?
-2
A
回答
3
我寫了這個真的是很快,所以我不會感到驚訝,如果有更好的方法,或者至少是一個更清晰的方式來完成你以後的事情。它被寫入在有和沒有嵌入式媒體文件夾的情況下工作。
出於測試目的,我在桌面上有一個名爲pptx的文件夾,裏面有四個* .pptx文件。快速腳本完成後,它爲同一文件夾中的每個PowerPoint文件創建了一個文件夾。在這些文件夾中,每個文件夾都是包含您之後的文件的媒體文件夾,或者是指示無法找到媒體文件夾的文本文件。再次,可能有一個更清潔的方式,但在此之前,這應該工作。
$Path = 'C:\users\tommymaynard\Desktop\pptx'
$Files = Get-ChildItem -Path $Path
Foreach ($File in $Files) {
New-Item -Path $File.DirectoryName -ItemType Directory -Name $File.BaseName | Out-Null
If (Get-Command -Name Expand-Archive) {
Expand-Archive -Path $File.FullName -OutputPath $File.FullName.Split('.')[0]
} Else {
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::ExtractToDirectory($File.FullName,$File.FullName.Split('.')[0])
} # End If-Else.
If (Test-Path -Path "$($File.FullName.Split('.')[0])\ppt\media") {
Move-Item -Path "$($File.FullName.Split('.')[0])\ppt\media" -Destination $File.FullName.Split('.')[0]
Get-ChildItem -Path $File.FullName.Split('.')[0] | Where-Object {$_.Name -ne 'media'} | Remove-Item -Recurse
} Else {
Get-ChildItem -Path $File.FullName.Split('.')[0] | Remove-Item -Recurse
New-Item -Path $File.FullName.Split('.')[0] -ItemType File -Name 'No media folder.txt' | Out-Null
} # End If-Else.
} # End Foreach.
編輯:使用.NET是所以不是擴大 - 歸檔快得多!如果速度是您所追求的,並且您運行的是包含Expand-Archive的PowerShell版本,那麼請將Get-Command-NAME展開 - 歸檔更改爲$ true -eq $ false,以強制使用.NET。要麼,要麼只是轉儲第一個If-Else並拔出.NET代碼...請告訴我們您是否需要進一步的幫助。
編輯2:我在自己的博客上寫了這篇文章:http://tommymaynard.com/extract-media-folder-from-powerpoint-files-2017/。它有我的代碼的更新版本。
相關問題
- 1. 使用PowerShell腳本從.zip文件中提取特定文件
- 2. Umbraco從不正確的文件夾中提取媒體文件
- 3. 使用Powershell檢查很多文件夾
- 4. Powershell腳本從文件夾列表中的文件名中提取信息
- 5. 從特定Outlook文件夾中提取.xls文件的PowerShell腳本
- 6. 如何從MATLAB中的multipe文件夾讀取很多文件?
- 7. 如何使用腳本從文本文件中提取值?
- 8. 使用Powershell腳本壓縮文件夾
- 9. 從上一年文件夾獲取文件的Powershell腳本
- 10. 如何使用PowerShell部分從7z文件中提取文件夾
- 11. PowerShell腳本刪除多個文件夾
- 12. 如何使用Android從.ppt文件中提取所有圖像?
- 13. PowerShell腳本歸檔許多子文件夾中的文件
- 14. 如何使用Django從.py文件讀取媒體文件?
- 15. 從PPT PowerPoint文件中提取背景
- 16. Powershell,從文本文件提取信息
- 17. 在多個媒體中使用FeatureSetTarget設置腳本定義文件夾的值
- 18. 使用PowerShell優化腳本以從多個文件中提取記錄
- 19. PowerShell從zip文件中提取17個文件夾深
- 20. 如何使用Python從多個.txt文件中提取文本?
- 21. Python 3.6從PPT文件中提取文本
- 22. 如何使用Powershell從.msg文件中提取郵件標題?
- 23. 使用PowerShell從.RDL文件中提取文本框值
- 24. 如何使用shell腳本從.jar文件複製文件夾
- 25. 獲取sdcard文件夾中可用的媒體文件總數?
- 26. 使用Powershell從網絡文件夾中獲取文件名
- 27. Powershell腳本從文本文件中提取內容並創建Windows事件
- 28. Sitecore使用PowerShell下載媒體文件夾
- 29. 將文本文件保存在iPhone的媒體文件夾中
- 30. VB腳本使用分隔符從文件中提取文本
您可以確認文件是ppt文件而不是pptx嗎? –
@JamesC。由於Daniel可以用WinRar打開它們並查看媒體文件夾,它們必須是.pptx而不是.ppt文件。有時候用戶(也在這裏看我自己)使用PPT作爲PowerPoint的縮寫而不是文件擴展名。 –
沒錯,它們都是PPTx。 –