Get-ChildItem -Directory不是工作名称

时间:2014-03-13 13:50:29

标签: .net powershell powershell-v3.0

在PowerShell 3.0中,我试图修改脚本,从输入参数中为我提供某个目录。输入参数可以是相对路径或完整路径。我有问题只是将它传递给带有System.IO.DirectoryInfo的New-Object,因为PowerShell的当前工作目录似乎与我当前工作目录的相对路径不匹配。所以我尝试了Get-ChildItem。如果我运行命令Get-ChildItem -Directory,它将列出所有目录。在结果中,我看到一个名为Queries的文件夹。如果我运行Get-ChildItem -Directory "Queries"。它什么都不返回。

所以有两个问题。

  1. 为什么会这样做以及如何解决它?
  2. 如果路径可以是相对路径还是root路径,那么在PowerShell中获取DirectoryInfo对象的最佳方法是什么?

4 个答案:

答案 0 :(得分:2)

您最好使用Resolve-Path代替。至于从GCI获取Queries文件夹,您可能需要GCI .\ -Directory -Filter "Queries"

的内容

答案 1 :(得分:0)

翻转代币? Gci queries -directory

答案 2 :(得分:0)

因为Get-ChildItem没有名为-Directory的参数。您要查找的参数是-path

http://technet.microsoft.com/en-us/library/hh849800.aspx

Get-ChildItem -Path Queries将有效

获取System.Io.DirectoryInfo对象只需将其分配给变量

$queries = Get-ChildItem -Path Queries

答案 3 :(得分:0)

我相信我找到了答案。如果我使用Get-Item "Queries" vs Get-ChildItem,它应该会为我提供所需的一切。谢谢你的帮助。