以下代码将在" c:\test
"仅限目录,我希望此代码在" c:\test
"的所有子目录中运行。 used -recursive但没有帮助。
cd c:\Test
$Afiles = ls -r *.bak
$Bfiles = ls -r *.7z
$Alist = @()
$Blist = @()
foreach( $A in $Afiles) {
$Alist += $A.BaseName
}
foreach( $B in $Bfiles) {
$Blist += $B.BaseName
}
foreach($A in $Alist) {
if($Blist -contains $a)
{
rm ("$A.bak")
}
}
答案 0 :(得分:1)
PowerShell(2.0)解决了这个简写命令:
docpad
到
ls -r *.bak
由于Get-ChildItem -Recurse -Path *.bak
项目都是文件,因此无法通过
你想要的是 *.bak
,而不是 -Filter *.bak
如果您想避免这种意外,请使用显式参数名称。您还可以直接从-Path *.bak
的输出中获取BaseName
属性:
Get-ChildItem