私はパワーポイントのプレゼンテーションをたくさん持っており、私はそれらのすべてのイメージを抽出する必要があります。私はすべての画像が置かれている 'Media'フォルダを含んでいることに気づいた(WinRarを使ってPPTファイルを開くことによって)。すべてのファイルの 'Media'フォルダを各ファイルの個々のフォルダに抽出するための形式はありますか?PowerShellスクリプトを使用して多数の.PPTファイルからメディアフォルダを抽出する方法は?
-2
A
答えて
3
私はこれを書いていますは本当にです。より良い方法があれば、あるいは後にしていることを達成するためのよりクリーンな方法があれば驚かないでしょう。埋め込みメディアフォルダがあるかどうかの両方で動作するように書かれています。
テスト目的のために、デスクトップにpptxと呼ばれるフォルダを4つの* .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 Expand-Archiveを$ true -eq $ falseに変更して強制的に.NETを使用します。どちらかというと、最初のIf-Elseをダンプして、.NETコードを抜き出してください。
Edit2:私はこのブログ記事を自分のブログに書いています:http://tommymaynard.com/extract-media-folder-from-powerpoint-files-2017/。それは私のコードの更新版を持っています。
関連する問題
- 1. PowerShellスクリプトを使用して.zipファイルから特定のファイルを抽出する
- 2. Androidを使用して.pptファイルからすべてのイメージを抽出する方法は?
- 3. powershellを使用して複数のファイルからレコードを抽出するスクリプトを最適化します
- 4. pptからコンテンツを抽出するtikaの使い方は?
- 5. PowerShellのm3uファイルからファイル名を抽出するスクリプト
- 6. PowerShellを使用して多数のサブディレクトリにまたがる多数のファイルからテキストを抽出し、ファイルに出力します。
- 7. PowershellスクリプトからMedadataを抽出するPowershellスクリプト
- 8. pptパワーポイントファイルからバックグラウンドを抽出する
- 9. スクリプトを使用してテキストファイルから値を抽出する方法は?
- 10. ファイルからフォルダ名とテキストデータを抽出するPowershellスクリプト
- 11. PowerShellを使用してテキストファイルからテーブルを抽出する
- 12. デフォルトの抽出プログラムを使用して、u-sqlスクリプトでvarbinary列を持つファイルを抽出する方法は?
- 13. Javaを使用してpptスライドを画像として抽出
- 14. powershellを使用して複数のコンピュータからレジストリ値を抽出する
- 15. GStreamerを使用して.mkvファイルから字幕を抽出する方法は?
- 16. PowerShellを使用してバイト配列からGPS数値を抽出する
- 17. C#のリソースからPPTを抽出して開きます
- 18. Scrapyを使用して変数からテキストを抽出する方法は?
- 19. PowerPoint(.pptまたは.pptx)ファイルからテキストを抽出しますか?
- 20. iTextを使用してpdfファイルからデータを抽出する方法
- 21. HTMLアジリティパックを使用してHTMLファイルからデータを抽出する方法
- 22. C#を使用してPDFファイルからイメージを抽出する方法
- 23. Rのファイル名を抽出して使用する方法R
- 24. Powershellスクリプトを使用してURLからファイルをダウンロードしてtlsを適用する方法
- 25. PowerShellスクリプトを使用してファイルAのテキストをファイルBから削除する
- 26. 拡張子のないファイルからデータを抽出するPowershellスクリプト
- 27. selenium webdriverを使用してXpathから数値を抽出する方法
- 28. powershellを使用して配列の文字列から値を抽出する
- 29. TagLibを使用してMP3ファイルからGUIDを抽出する
- 30. PHPを使用してPDFファイルからページを抽出する
ファイルがpptxではなくpptファイルであることを確認できますか? @ JamesC。 –
ダニエルはWinRarでそれらを開き、メディアフォルダを見ることができるので、.pptファイルではなく.pptxでなければなりません。 PPTは、ファイル拡張子ではなく、PowerPointの略語として使用されることがあります。 –
そうです、それはPPTxです。 –