【发布时间】:2018-09-03 03:48:54
【问题描述】:
我需要删除除根文件夹中的一个文件和子文件夹中的另一个文件之外的所有文件和文件夹。此外,文件名作为逗号分隔的字符串作为参数传递给脚本,例如 'file1.txt,Subfolder\file2.txt'。
我试图做这样的事情,
$Path = "C:\\Delete\\"
$Argument= "file1.txt,Subfolder\\file2.txt"
$ExcludedFiles = [string]::Join(',', $Argument);
$files = [System.IO.Directory]::GetFiles($Path, "*", "AllDirectories")
foreach($file in $files) {
$clearedFile = $file.replace($Path, '').Trim('\\');
if($ExcludedFiles -contains $clearedFile){
continue;
}
Remove-Item $file
}
通过这样做,所有文件夹都会保留,所有文件都会被删除。 任何人都可以建议我应该如何尝试这样做,因为我很难做到这一点。
【问题讨论】:
标签: powershell build-automation