Get-ChildItem:无法找到路径&env'因为它不存在

时间:2016-04-25 12:23:46

标签: powershell

我正在努力让那些来自"变量"开车或" env"开车,我的位置设置为" Alias"驾驶。正如HeyIamScriptingGuy教程中提到的那样:http://dlbmodigital.microsoft.com/webcasts/wmv/23978_Dnl_L.wmv。寻求视频到18:35,你会发现他可以这样做,但对我来说,它总是显示以下错误:

PS Alias:\> Get-ChildItem env
Get-ChildItem : Cannot find path 'env' because it does not exist.
At line:1 char:1
+ Get-ChildItem env
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (env:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

所以最后我检查这些驱动器是否真的存在,哪些驱动器不可能存在。

PS Alias:\> Get-PSProvider

Name                 Capabilities                                      Drives
----                 ------------                                      ------
Registry             ShouldProcess, Transactions                       {HKLM, HKCU}
Alias                ShouldProcess                                     {Alias}
Environment          ShouldProcess                                     {Env}
FileSystem           Filter, ShouldProcess, Credentials                {C, D, E}
Function             ShouldProcess                                     {Function}
Variable             ShouldProcess                                     {Variable}
WSMan                Credentials                                       {WSMan}
Certificate          ShouldProcess                                     {Cert}

你可以看到,我确实有这些驱动器可用。即使我将位置设置为Alias Drive时无法获取任何驱动器的ChildItem。

我错过了什么吗?

2 个答案:

答案 0 :(得分:4)

  

我错过了什么吗?

是。结肠。

没有它PowerShell假设您指的是当前提供程序的工作目录中的对象。假设文件系统提供者:如果您要创建一个名为“env”的文件夹并在其中弹出一个文本文件,那么该文件将由您上面的代码返回。

documentation from TechNet

支持此功能
  

要查看提供者驱动器的内容,请使用Get-Item或Get-ChildItem       的cmdlet。键入驱动器名称,后跟冒号(:)。例如,到       查看Alias:drive的内容,输入:

在您的特定情况下,您位于别名提供程序中,“env”不是别名(至少不是默认值)。 Get-ChildItem ls会回复一些东西。

因此,在任何驱动器上添加冒号应该允许您这样引用它。

答案 1 :(得分:0)

保持观看

  

gc:找不到路径'环境:\ XXCOMPUTERNAMEXX'因为它没有   存在。

无论我在那里放什么名字,每次都会产生错误。

我将其删除,脚本运行正常。

Windows Server 2012r2