Knaps
22-05-2019, 10:03
Добрый день. Подскажите, пожалуйста, что нужно почитать, чтобы понять причину странного поведения Get-ChildItem?
Сам код:
Get-ChildItem
mkdir Test1\Test2\Test3
Get-ChildItem -Recurse '.\Test1'
Get-ChildItem -Recurse '.\Test2'
Get-ChildItem -Recurse '.\Test3'
Get-ChildItem -Recurse '.\Test1\'
Get-ChildItem -Recurse '.\Test2\'
Get-ChildItem -Recurse '.\Test3\'
mkdir T\Test2\Test3
Get-ChildItem -Recurse '.\Test1\'
Get-ChildItem -Recurse '.\Test2\'
Get-ChildItem -Recurse '.\Test3\'
Get-ChildItem -Recurse '.\Test1\\'
Get-ChildItem -Recurse '.\Test2\\'
Get-ChildItem -Recurse '.\Test3\\'
mkdir Te\Test2\Test3
Get-ChildItem -Recurse '.\Test1\\'
Get-ChildItem -Recurse '.\Test2\\'
Get-ChildItem -Recurse '.\Test3\\'
Вывод:
PS T:\> Get-ChildItem
PS T:\> mkdir Test1\Test2\Test3
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
PS T:\> Get-ChildItem -Recurse '.\Test3'
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1\'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2\'
Get-ChildItem : Cannot find path 'T:\T' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Recurse '.\Test2\'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (T:\T:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS T:\> Get-ChildItem -Recurse '.\Test3\'
Get-ChildItem : Cannot find path 'T:\T' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Recurse '.\Test3\'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (T:\T:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS T:\> mkdir T\Test2\Test3
Directory: T:\T\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1\'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2\'
Directory: T:\T
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
PS T:\> Get-ChildItem -Recurse '.\Test3\'
Directory: T:\T\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1\\'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2\\'
Get-ChildItem : Cannot find path 'T:\Te' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Recurse '.\Test2\\'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (T:\Te:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS T:\> Get-ChildItem -Recurse '.\Test3\\'
Get-ChildItem : Cannot find path 'T:\Te' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Recurse '.\Test3\\'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (T:\Te:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS T:\> mkdir Te\Test2\Test3
Directory: T:\Te\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1\\'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2\\'
Directory: T:\Te
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
PS T:\> Get-ChildItem -Recurse '.\Test3\\'
Directory: T:\Te\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\>
Сам код:
Get-ChildItem
mkdir Test1\Test2\Test3
Get-ChildItem -Recurse '.\Test1'
Get-ChildItem -Recurse '.\Test2'
Get-ChildItem -Recurse '.\Test3'
Get-ChildItem -Recurse '.\Test1\'
Get-ChildItem -Recurse '.\Test2\'
Get-ChildItem -Recurse '.\Test3\'
mkdir T\Test2\Test3
Get-ChildItem -Recurse '.\Test1\'
Get-ChildItem -Recurse '.\Test2\'
Get-ChildItem -Recurse '.\Test3\'
Get-ChildItem -Recurse '.\Test1\\'
Get-ChildItem -Recurse '.\Test2\\'
Get-ChildItem -Recurse '.\Test3\\'
mkdir Te\Test2\Test3
Get-ChildItem -Recurse '.\Test1\\'
Get-ChildItem -Recurse '.\Test2\\'
Get-ChildItem -Recurse '.\Test3\\'
Вывод:
PS T:\> Get-ChildItem
PS T:\> mkdir Test1\Test2\Test3
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
PS T:\> Get-ChildItem -Recurse '.\Test3'
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1\'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2\'
Get-ChildItem : Cannot find path 'T:\T' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Recurse '.\Test2\'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (T:\T:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS T:\> Get-ChildItem -Recurse '.\Test3\'
Get-ChildItem : Cannot find path 'T:\T' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Recurse '.\Test3\'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (T:\T:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS T:\> mkdir T\Test2\Test3
Directory: T:\T\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1\'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2\'
Directory: T:\T
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
PS T:\> Get-ChildItem -Recurse '.\Test3\'
Directory: T:\T\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1\\'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2\\'
Get-ChildItem : Cannot find path 'T:\Te' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Recurse '.\Test2\\'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (T:\Te:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS T:\> Get-ChildItem -Recurse '.\Test3\\'
Get-ChildItem : Cannot find path 'T:\Te' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Recurse '.\Test3\\'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (T:\Te:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS T:\> mkdir Te\Test2\Test3
Directory: T:\Te\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test1\\'
Directory: T:\Test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
Directory: T:\Test1\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\> Get-ChildItem -Recurse '.\Test2\\'
Directory: T:\Te
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test2
PS T:\> Get-ChildItem -Recurse '.\Test3\\'
Directory: T:\Te\Test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 22.05.2019 9:55 Test3
PS T:\>