You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中获取文件创建时间输出字面量,如何获取实际时间?

解决PowerShell获取文件创建时间的问题

问题出在两个关键地方:

  • 你在foreach循环里用了$_,但这里的迭代变量是$build,$_在这个循环语境下不指代当前的文件对象
  • 直接在双引号里写$_.CreationTime时,PowerShell只会解析$开头的部分,后面的.CreationTime会被当作普通字符串输出

修正后的代码如下:

$builds = Get-ChildItem "$path_to_directory" *.zip | Where-Object {$_.CreationTime -gt $lastBuildDeployedTimestamp}
foreach($build in $builds)
{
    $path_to_directory  # 直接输出变量,无需双引号
    $build.CreationTime # 直接访问文件对象的CreationTime属性
    # 如果非要用双引号包裹输出,得用子表达式让PowerShell完整解析:
    # "$($build.CreationTime)"
}

简单说明:

  • 在foreach循环内部,每个遍历到的文件对象是$build,所以要通过$build.CreationTime获取它的创建时间
  • 要是需要把创建时间嵌入到字符串里,必须用$()把属性访问表达式包裹起来,这样PowerShell才会执行表达式并把结果插入到字符串中

内容的提问来源于stack exchange,提问作者CleanBold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 19:06:28