我想获取C:\
驱动器中所有用户创建的文件夹的列表。但是由于连接点,我得到了错误的结果。
我试过了
$generalExclude += @("Users", "LocalData", "PerfLogs", "Program Files", "Program Files (x86)", "ProgramData", "sysdat", "Windows", "eplatform", "Intel", "Recovery", "OneDriveTemp")
Get-ChildItem "\\localhost\c$" -Directory -force -Exclude $generalExclude -ErrorAction 'silentlycontinue' | Where-Object $_.Attributes.ToString() -NotLike "ReparsePoint"
但我得到了
您无法在空值表达式错误上调用方法。
答案 0 :(得分:2)
我猜您错过了<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.js"></script>
</head>
<body>
<div ng-app="myShoppingList" ng-controller="myCtrl">
<input type="number" ng-model="eorE">
<input type="number" ng-model="float">
<input type="number" ng-model="plus">
<input type="number" ng-model="mins">
<p>{{addMe}}</p>
</body>
</html>
cmdlet中braces{}
的{{1}}。此外,scriptblock
运算符使用通配符进行搜索操作。
Where-Object
根据-notlike
cmdlet的msdn文档,您将看到有两种方法可以构建Where-Object命令。
方法1
脚本块。
您可以使用脚本块指定属性名称,即比较 运算符和属性值。 Where-Object返回所有对象 脚本块语句为真。
例如,以下命令获取Normal中的进程 优先级,即进程所在的值 PriorityClass属性等于Normal。
Get-ChildItem "\\localhost\c$" -Directory -force -Exclude $generalExclude -erroraction 'silentlycontinue' | Where-Object {$_.Attributes.ToString() -NotLike "*ReparsePoint*"}
方法2
比较声明。
你也可以写一个比较语句,更像是 自然语言。比较语句在Windows中引入 PowerShell 3.0。
例如,以下命令也会获得具有的进程 普通优先级。这些命令是等效的,可以 可互换使用。
Where-Object
其他信息 -
从Windows PowerShell 3.0开始,Where-Object添加比较 运算符作为Where-Object命令中的参数。除非另有说明 所有运算符都不区分大小写。在Windows PowerShell 3.0之前, Windows PowerShell语言中的比较运算符可以是 仅在脚本块中使用。
在您的情况下,您将Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
构建为Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"
Get-Process | Where-Object PriorityClass -eq "Normal"
,因此Where-Object
成为必要的邪恶。或者,您可以通过以下方式构建scriptblock
-
braces{}
<强>(OR)强>
Where-Object