【发布时间】:2022-05-07 21:06:06
【问题描述】:
MSDN 页面“Approved Verbs for Windows PowerShell Commands”说:
Find 动词用于寻找对象。 Search 动词用于创建对容器中资源的引用。
“在容器中创建对资源的引用”是什么意思?这是否意味着为现有资源定义一个新名称?这是否意味着获取有关资源的一些信息并将该信息转换为参考?还是有别的意思?
如何使用“搜索”动词的示例是什么?这个动作和搜索有什么关系?
【问题讨论】:
-
就此而言,
Get、Find、Search和Select之间有什么区别?为什么是Get-Content而不是Read-Content?为什么是Get-ChildItem而不是Find-ChildItem或Search-ChildItem?这就是为什么我不喜欢批准的动词列表。好吧,事实上,当您必须输入 5-8 个字符才能到达唯一位时,它会使制表符补全的功能大大降低。 -
$(Locate-HumanReadableVerbExplanationFile).FullName | Find-MeaningOf -Verb Search -
Locate-HumanReadableVerbExplanationFile : 术语“Locate-HumanReadableVerbExplanationFile”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。
-
我想我可以回答为什么是
Get-Content而不是Read-Content。这只是推测,但我的理解是“获取”是用于获取对象的集合、整个对象或对象的整个内容,而“读取” " 用于从对象中获取一条信息。一个名为Read-Content的命令可能只会为您提供项目内容的部分。 -
@TannerSwett: @TannerSwett: 我认为
Get和Read的区别不在于部分 信息,而在于检索对象本身 vs. 它的内容。因此,Get-Content,作为Getcmdlet 的通常 示例,可以说应该只称为Read,但Read本身显然违反了动词-名词约定。 (Get-Content的不寻常之处在于名词部分不指代目标实体类型;它基本上说“让我知道里面有什么”,没有命名 it;后者是 cmdlet通常会这样做,例如在Get-ADUser。)
标签: powershell