【发布时间】:2016-06-07 18:43:29
【问题描述】:
仅当文件夹具有特定类型的文件(例如 .txt、.csv、.xls、.xlsx)时,如何编写 PowerShell 脚本来归档文件夹。我的源路径是C:\Temp\Test\,有5个子文件夹:
- 文件夹
- 文件夹b
- 文件夹c
- 文件夹
- 文件夹
- 存档
只有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
【问题讨论】:
标签: powershell