Powershell分裂为' _'回来空了

时间:2016-12-15 11:39:08

标签: powershell

所以我有几个文件的文件夹:

$files = @(Get-ChildItem "myPath")

我可以通过调试器看到$files包含几个项目,我想采取第一个:

$files[0] = "123_this.is.string"

我希望按'_'拆分并取123

$splitted = $files[0] -split "_"

所以在这里我可以看到$splitted是空的。

为什么会出现这种奇怪的行为?

2 个答案:

答案 0 :(得分:4)

$ files [0]不是字符串,而是FileSystemInfo对象。

$files[0].getType()

IsPublic IsSerial Name                                     BaseType                                                                                                                           
-------- -------- ----                                     --------                                                                                                                           
True     True     FileInfo                                 System.IO.FileSystemInfo

因此,要使其工作,您必须将split函数用于文件的文件名,这是一个字符串。

$files[0].name.getType()

IsPublic IsSerial Name                                     BaseType                                                                                                                           
-------- -------- ----                                     --------                                                                                                                           
True     True     String                                 System.Object

有了它,它应该有效:

$files[0].name.split("_")

答案 1 :(得分:1)

尝试:

$exe = replaceAllChars($exe, '\\', '/');