我是PowerShell的新手,所以请耐心等待。我正在写我的第一个剧本。 我有一个变量来计算删除前后的文件数。它在删除前显示,但删除后不显示“0”。是否只计算项目数是否> = 1?
这是我的剧本
# Stops the spooler service
$PrintSpoolLocation = "C:\Windows\System32\spool\PRINTERS\*"
$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
答案 0 :(得分:0)
旧版本的PowerShell具有可疑的空值处理。尝试检查对象是否为手动为空。
$SpoolerItems = Get-ChildItem c:\windows\system32\spool\PRINTERS
if ($SpoolerItems)
{
$CountAfter = $SpoolerItems.Count
}
else
{
$CountAfter = 0;
}