代码之家  ›  专栏  ›  技术社区  ›  Pelicer

Get ChildItem-获取当前目录的路径

  •  1
  • Pelicer  · 技术社区  · 6 年前

    我有一个简单的任务,就是从一个路径获取一个文件,然后使用PowerShell脚本将其复制到另一个路径。现在,我明白了 Get-ChildItem ,如果 -Path 如果未指定,它将获取当前目录。我正在使用此代码,设置文件所在的目录,但它仍然获取当前目录:

    $file = Get-ChildItem -Path "\\w102xnk172\c$\inetpub\wwwroot\PC_REPORTS\exemplo\DCT\Files\STC" | Sort-Object LastWriteTime | Select-Object -Last 1
    Copy-Item $file -Destination "\\Brhnx3kfs01.vcp.amer.dell.com\brh_shipping$\DEMAND_MONITOR\"
    cmd /c pause | out-null
    

    暂停时返回此错误:

    enter image description here

    Get-ChildItem Copy-Item $file 变量。。。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Mathias R. Jessen    6 年前

    Copy-Item 期望 [string] 作为第一个位置参数-因此它尝试转换 $file 名称 文件的一部分。

    FullName 文件的属性值(完整路径):

    Copy-Item $file.FullName -Destination "\\Brhnx3kfs01.vcp.amer.dell.com\brh_shipping$\DEMAND_MONITOR\"
    

    或者用管子 复制项目 让管道绑定为您带来魔力:

    $file |Copy-Item -Destination "\\Brhnx3kfs01.vcp.amer.dell.com\brh_shipping$\DEMAND_MONITOR\"
    

    Trace-Command :

    Trace-Command -Name ParameterBinding -Expression {Copy-Item $file -Destination "\\Brhnx3kfs01.vcp.amer.dell.com\brh_shipping$\DEMAND_MONITOR\"} -PSHost