【问题标题】:powershell get-itemproperty get just valuepowershell get-itemproperty 获取值
【发布时间】:2014-01-16 00:01:01
【问题描述】:

我使用以下代码来获取 psexec.exe 在 c:\

上的创建时间
Get-ItemProperty -path c:\psexec.exe | select -property CreationTime

但我只需要值,例如“14.01.2013 16:02:53”。 这个的输出是:

 
CreationTime
------------
14.01.2013 16:02:53
 
 

当然,我可以像删除前 3 行和最后 2 行一样修剪它,或者循环遍历它,但我不想要这种解决方法。我认为必须有一种方法可以只输出单个值,而无需其他任何东西。 我可以使用

Get-ItemProperty -path c:\psexec.exe | select -expandProperty CreationTime

但这给了我:

 
Montag, 14. Januar 2013 16:02:53
 
 

所以我也有空行,我想稍后将此日期与另一个日期进行比较,我认为第一个代码行将创建时间更多地带到日期时间格式的字符串,因此以后使用它更容易。

谁能帮我解决这个问题?我现在在谷歌上搜索了几个小时,但没有找到任何有用的东西:/

最好的问候 黑莲花

【问题讨论】:

    标签: datetime powershell properties


    【解决方案1】:

    将整个命令括在括号中,并使用点符号访问属性。

    (Get-ItemProperty -path c:\psexec.exe | select -property CreationTime).CreationTime;
    

    或者你甚至可以这样做:

    (Get-ItemProperty -path c:\psexec.exe).CreationTime;
    

    【讨论】:

    • 这些似乎在功能上等同于问题中的-expandProperty 示例。或者我错过了什么?
    【解决方案2】:

    将您的最后一个命令传送到Get-Member 会显示TypeName: System.DateTime。这与Get-Date 返回的对象类型相同,以防万一。该对象具有 DateTime 属性。所以这会去除空白:

    Get-ItemProperty -path c:\psexec.exe | select -expand CreationTime | select -expand datetime
    

    这也是:

    ((Get-ItemProperty -path C:\psexec.exe).CreationTime).DateTime
    

    您也可以找到一些方便的methods,例如(get-date).ToLongDateString()

    【讨论】:

      猜你喜欢
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 2010-10-02
      • 2021-10-09
      相关资源
      最近更新 更多