将输入对象传递给ConvertTo-Html

其他Zubi

为什么以下代码块的输出不同?在两种情况下,ConvertTo-Html cmdlet用作输入的对象都不相同吗?代码块1的输出是我所期望的。

代码1:

$psdrive = Get-PSDrive
$psdrive | ConvertTo-Html

代码2:

$psdrive = Get-PSDrive
ConvertTo-Html -InputObject $psdrive

这里的输出。

输出1:

 ...
     <tr>
        <th>Used</th>
        <th>Free</th>
        <th>CurrentLocation</th>
        <th>Name</th>
        <th>Provider</th>
        <th>Root</th>
        <th>Description</th>
        <th>MaximumSize</th>
        <th>Credential</th>
        <th>DisplayRoot</th>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
        <td>Alias</td>
        <td>Microsoft.PowerShell.Core\Alias</td>
        <td></td>
        <td>Drive that contains a view of the aliases stored in a session state</td>
        <td></td>
        <td>System.Management.Automation.PSCredential</td>
        <td></td>
    </tr>
    <tr>
        <td>72876965888</td>
        <td>12914372608</td>
        <td>Windows\system32</td>
        <td>C</td>
        <td>Microsoft.PowerShell.Core\FileSystem</td>
        <td>C:\</td>
        <td></td>
        <td></td>
        <td>System.Management.Automation.PSCredential</td>
        <td></td>
    </tr>
  ...

输出2:

   ...
      <tr>
        <th>Count</th>
        <th>Length</th>
        <th>LongLength</th>
        <th>Rank</th>
        <th>SyncRoot</th>
        <th>IsReadOnly</th>
        <th>IsFixedSize</th>
        <th>IsSynchronized</th>
    </tr>
    <tr>
        <td>12</td>
        <td>12</td>
        <td>12</td>
        <td>1</td>
        <td>System.Object[]</td>
        <td>False</td>
        <td>True</td>
        <td>False</td>
    </tr>
</table>
 ...
行军

这就是管道的行为方式。

Get-PsDrive将返回一个数组(如果有多个驱动器)。

$psdrive.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Object[]                                 System.Array

通过管道 传递$psdive(应称为$psdrives,复数),您可以将数组的每一项传递ConvertTo-Html,以便将其正确格式化。

通过传递实际的数组,-InputObject它将数组本身转换为HTML,这就是为什么看到诸如等等的数组成员的原因。如果传递一个空数组CountLength您将得到相同的结果:ConvertTo-Html -InputObject @()

您可以轻松地看到这种行为,请查看以下内容:

# will return the members of the drives (Root, MaximumSize, ...)
$psdrive | Get-Member

# will return the members of the array that contains the drives (Add, Count, ...)
Get-Member -InputObject $psdrive

结论:使用管道的第一个版本是正确的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Javascript对象传递给HTML iframe(作为对象)

来自分类Dev

将Google脚本对象传递给html模板

来自分类Dev

从HTML将对象传递给指令

来自分类Dev

将json对象传递给另一个html

来自分类Dev

将对象传递给html字符串

来自分类Dev

将html输入传递给js函数?

来自分类Dev

在动态生成的html中将对象传递给javascript函数

来自分类Dev

JSP / HTML:尝试将html输入传递给具有相同变量名的多个对象以供使用

来自分类Dev

将 html 输入数组作为参数传递给 Oracle 过程

来自分类Dev

将JSON对象传递给MVC

来自分类Dev

将JSON对象传递给WebApi

来自分类Dev

将类对象传递给服务

来自分类Dev

将Java对象传递给python

来自分类Dev

将Class对象传递给方法

来自分类Dev

将线程对象传递给服务

来自分类Dev

将HTML输入值传递给javascript函数,然后将JS结果输出到<p> HTML

来自分类Dev

R:存储多行html文本并作为对象传递

来自分类Dev

如何从HTML模板中的Django对象传递JavaScript变量?

来自分类Dev

R:存储多行html文本并作为对象传递

来自分类Dev

将“对象”对象传递给Ruby的枚举器

来自分类Dev

将JS对象传递给MVC局部对象?

来自分类Dev

在更改html滑块输入时将数据传递给angular函数

来自分类Dev

HTML输入标记将占位符作为值传递给PHP

来自分类Dev

如何将输入的值传递给html中的事件调用?

来自分类Dev

Python:-将HTML表单输入传递给python代码并执行它

来自分类Dev

如何将ul元素传递给已经存在的html输入值?

来自分类Dev

PHP HTML输入将多个参数传递给jQuery AJAX调用

来自分类Dev

是否可以将HTML输入字段变量传递给自定义Angularjs过滤器?

来自分类Dev

通过ajax将html输入数组值传递给php脚本

Related 相关文章

热门标签

归档