文件夹为空时未显示项目数

时间:2016-07-20 14:16:46

标签: powershell-v2.0

我是PowerShell的新手,所以请耐心等待。我正在写我的第一个剧本。 我有一个变量来计算删除前后的文件数。它在删除前显示,但删除后不显示“0”。是否只计算项目数是否> = 1?

这是我的剧本

# Stops the spooler service

清除打印机假脱机文件夹

的内容

重新启动后台处理程序服务

设置打印假脱机的目录

$PrintSpoolLocation = "C:\Windows\System32\spool\PRINTERS\*"

显示PrintSpoolLocation文件夹的内容

$ShowFiles = Get-ChildItem C:\Windows\System32\spool\PRINTERS\ | Select-Object Name, LastWriteTime

计算删除前的项目数

$CountBefore = (Get-ChildItem c:\windows\system32\spool\PRINTERS).Count

停止服务-name spooler -force

Remove-Item $ PrintSpoolLocation -force

$ ShowFiles

计算删除后的项目数

$CountAfter = (Get-ChildItem c:\windows\system32\spool\PRINTERS).Count

Write-Host“n n删除$ CountBefore之前,删除$ CountAfter项之后!”

Restart-Service -name spooler -force

Set-Executionpolicy Unrestricted

enter image description here

1 个答案:

答案 0 :(得分:0)

旧版本的PowerShell具有可疑的空值处理。尝试检查对象是否为手动为空。

$SpoolerItems = Get-ChildItem c:\windows\system32\spool\PRINTERS
if ($SpoolerItems)
{
  $CountAfter = $SpoolerItems.Count
}
else
{
  $CountAfter = 0;
}