2016-06-16 114 views
0

我的文件夾結構如下所示:特定文件(.rar程序文件夾)

SourceFolder 
├─file1.txt 
├─file1.doc 
└─Subfolder1 
    ├─file2.txt 
    ├─file2.doc 
    └─SubSubFolder 
    ├─file3.txt 
    └─doc3.txt

這個腳本複製所有*從文件夾,它(文件夾)名.txt文件包含了工程,以目標文件夾。只有文件夾內的文件。

$dest = "C:\Users\username\Desktop\Final" 
$source = "C:\Users\username\Desktop\Test1" 

Get-ChildItem $source -Filter "*.txt" -Recurse | 
    Where-Object { $_.DirectoryName -match "eng" } | 
    ForEach-Object { Copy-Item $_.fullname $dest } 

在我的處境中的文件夾是.rar程序格式,我希望腳本搜索.rar程序文件夾和* .txt文件夾,從工程複製到目標。 PowerShell有可能嗎?

回答

0

Rar是專有檔案格式。您的.rar項目不是文件夾,而是該格式的壓縮檔案。 PowerShell不能透明地處理這樣的檔案,我不知道會添加這個功能的第三方提供商。

基本上,不,你問的是不可能的。

你可以做的是與像7-zip工具存檔提取文件,如:

7z.exe e your.rar *.txt -r 

對於從存檔中的嵌套子文件夾解壓文件只有前面加上該路徑的提取模式:

7z.exe e your.rar "nested\subfolder\*.txt" -r 
+0

感謝Ansgar Wiechers的回覆。提取rar,在他們的網站狀態示例很麻煩7z x archive.zip -oc:\ soft * .cpp -r解釋將所有* .cpp文件從archive archive.zip提取到c:\ soft文件夾。很好,但我的只是文件夾eng文件夾排除所有其他文件,只提取他們的txt文件。任何替代品。 – danny