.net Get ChildItem-目录名称无效

.net Get ChildItem-目录名称无效,.net,powershell,powershell-3.0,.net,Powershell,Powershell 3.0,在PowerShell 3.0中,我试图更正一个脚本,以便从输入参数中为我指定一个目录。输入参数可以是相对路径或完整路径。由于PowerShell的当前工作目录与相对路径的当前工作目录不匹配,因此在将其传递到具有System.IO.DirectoryInfo的新对象时遇到问题。所以我尝试了Get ChildItem。如果我运行命令getchilditem-Directory,它将列出所有目录。在结果中,我看到一个名为Queries的文件夹。如果我运行getchilditem-Directory“

在PowerShell 3.0中,我试图更正一个脚本,以便从输入参数中为我指定一个目录。输入参数可以是相对路径或完整路径。由于PowerShell的当前工作目录与相对路径的当前工作目录不匹配,因此在将其传递到具有System.IO.DirectoryInfo的新对象时遇到问题。所以我尝试了Get ChildItem。如果我运行命令
getchilditem-Directory
,它将列出所有目录。在结果中,我看到一个名为Queries的文件夹。如果我运行
getchilditem-Directory“querys”
。它什么也不返回

所以有两个问题

  • 它为什么会这样做?我该如何绕过它
  • 如果路径可以是相对路径或根路径,那么在PowerShell中获取DirectoryInfo对象的最佳方法是什么

  • 翻转代币
    Gci查询-目录

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

    Get ChildItem-路径查询将起作用

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


    $querys=Get ChildItem-Path querys

    我相信我已经找到了答案。如果我使用
    Get Item“querys”
    vs
    Get ChildItem
    它应该会提供我所需要的一切。谢谢您的帮助。

    您最好改用
    解析路径。至于从GCI获取Queries文件夹,您可能需要类似于
    GCI.\-Directory-Filter“querys”

    的内容。在powershell 3.0中,有一个名为-Directory的参数。它只过滤目录。还返回文件夹查询中的项目。不是目录itself@dko奇怪的是在文档中找不到它。。。键入
    get childitem-d
    tab
    时,目录参数自动完成?只需执行
    getchilditem-Path查询|?{$\ PSISCONTAINER}
    只获取directoriesdko是正确的。PowerShell 3.0版及更高版本中的
    -Directory
    参数仅返回目录,而不是目录和文件。Resolve-Path工作正常。非常感谢。我早就放弃了GCI:(.Resolve Path实际上返回一个PathInfo对象,而不是DirectoryInfo。Get项将返回一个DirectoryInfo。不过,或者应该可以满足我的需要。