doz*_*inc 10 powershell pipeline
这可能很奇怪,但请留在我身边.我想只将管道结果的最后一个元素分配给变量.我知道如何在"常规"代码中执行此操作,但因为这必须是一个单行程序.
更具体地说,我对从FTP请求获取结果时获取文件扩展名感兴趣ListDirectoryDetails
.
由于这是在字符串扩展中完成的,我无法弄清楚正确的代码.
目前我已经得到了最后3个,但这真是令人讨厌.
__PRE__
我的想法是做类似的事情
__PRE__
也就是说,遍历所有,但只取出我正在看的元素是输入数组的最后一个元素.
我错过了什么?
Rom*_*min 21
几种方法:
$name = 'c:\temp\aaa.bbb.ccc'
# way 1
$name.Split('.') | Select-Object -Last 1
# way 2
[System.IO.Path]::GetExtension($name)
# or if the dot is not needed
[System.IO.Path]::GetExtension($name).TrimStart('.')
Run Code Online (Sandbox Code Playgroud)
一般来说,获取管道中的最后一个元素将使用Select -Last 1
上面的罗马建议.但是,如果输入是一个简单的数组,另一种更简单的方法是使用数组切片,例如:
PS> $name = "c:\temp\aaa.bbb.txt"
PS> $name.Split('.')[-1]
txt
Run Code Online (Sandbox Code Playgroud)
您是否有意获得文件的扩展名或基本名称?因为该Type
属性似乎已包含文件名的扩展名.
归档时间: |
|
查看次数: |
25214 次 |
最近记录: |