0
如何編寫PowerShell腳本,只有當文件夾有例如.txt
,.csv
,.xls
,.xlsx
某些類型的文件存檔文件夾。我的源路徑是C:\Temp\Test\
並且有5子文件夾:存檔文件夾時文件夾中有某些文件類型
- foldera
- FolderB中
- folderc
- folderd
- foldere
- 存檔
只有foldera
,folderb
,folderc
將文件歸檔,歸檔路徑爲C:\Temp\Test\Archive
,這有folders
foldera
,folderb
,因此不需要創建這些文件夾,但需要壓縮和複製文件,需要創建folderc
,並且文件必須被壓縮和複製。
使用下面的代碼,我得到的文件,但不是特定的文件是在文件夾中。
$ignorefolders = @(
"C:\Temp\misc"
)
$archive = "C:\Temp\Archive"
[regex]$exclude = ‘(?i)^(‘ + (($ignorefolders |foreach {[regex]::escape($_)}) –join 「|」) + ‘)’
$includefiletype = @("*.txt", "*.csv", "*.dat", "*.xls", "*.xlsx")
$workingDir = "C:\Temp"
Get-ChildItem $workingDir -recurse -include $fileFilter | Where {$_.FullName -notmatch $exclude} | Copy-Item -Destination $archive
我得到「複製 - 項目無法找到驅動器」的錯誤,不應該爲複製項目已經源指定的路徑。當我將Copy-Item更改爲「Copy-Item -Path $ source -Destination $ archive -WhatIf」時,出現參數綁定錯誤。 – user25407
看起來像Copy-Item不像FileInfo對象那樣是輸入,因此在將屬性發送到Copy-Item之前進行了編輯以擴展屬性,但是,我仍然有一種感覺仍然不會按照自己的意願去做。您可能需要向Copy-Item添加-Recurse參數。 – zdan
我可以使用下面的腳本過濾文件和文件夾。但是,它僅複製文件夾,並將所有文件複製到外部。如何將文件複製到文件中。 – user25407