0

我需要一个函数来删除文件夹 A 中的所有 csv 文件,如果文件夹 A 中有 csv 文件,则删除所有 csv 文件(实际上,我不知道文件夹 A 中确切的 csv 文件名称);如果文件夹 A 中没有 csv 文件,则什么也不做。我搜索了一个关于删除 mp3 文件的主题: Powershell - 删除所有非 mp3 文件

然后我把这个例子拿出来,下面是删除文件夹 A 中我的 csv 文件的 cmdlet:

Get-childitem -Recurse | Where-Object {$_.Extension -eq '.csv'} | 
Remove-Item -whatIf 

但是有一个问题,当文件夹 A 中没有 csv 文件时,在上面执行 cmd 时会导致错误。我只是不知道如何判断csv文件是否存在,其他人可以帮忙吗?非常感谢。

4

2 回答 2

0

您可以简单地添加-ErrorActionremove-item跳过错误:

Get-childitem -Recurse | Where-Object {$_.Extension -ne '.csv'} | 
Remove-Item -ErrorAction SilentlyContinue
于 2012-04-10T07:43:54.223 回答
0

在执行删除之前使用 if 构造来测试条件是否为真:

if(gci c:\folderA -filter *.csv){do-something}

如果括号之间的语句返回 false,则不执行大括号之间的代码。

于 2012-04-11T10:49:57.007 回答