尝试删除特定文件并记录删除

时间:2018-07-24 12:43:27

标签: powershell

我正在尝试从我的Temp目录中删除.txt和.xlsx文件,并将它们记录在temp2目录中的文件中。

如果我删除

-include '*.txt, *.xlsx

然后放

*.txt

它工作正常,但显然只能删除一种文件类型。

$LogFile = "C:\Temp2\DeletedFiles.txt"

$Path = "C:\Temp\"

$Files = Get-ChildItem $Path -Include '*.txt, *.xlsx'

foreach ($File in $Files) { 
    if ($File -ne $Null) { 
        Add-Content $LogFile $File.FullName
        Remove-Item $File.FullName | out-null}}`

请帮助,因为我无法解决问题!

奖励积分,如果有人可以解释

if ($File -ne $Null)

确实可以,这真的很有帮助,因为我必须偷点东西才能完成这项工作。

2 个答案:

答案 0 :(得分:2)

对于-include开关,您需要指定单个项目或项目数组。试试这个:

$Files = Get-ChildItem $Path -Include @('*.txt', '*.xlsx')

奖金部分:

if ($File -ne $Null)

检查变量$ File是否不为空。

答案 1 :(得分:1)

您的路径定义如下:

$Path = "C:\Temp\"

将其更改为C:\Temp\*(注意星号结尾)。

enter image description here

第一个命令显示目录中的内容。第二个命令实现了我给出的建议。第三个命令就是您现在拥有的。