按Powershell中文件名的最后一个字符排序文件

Ric*_*ide 9 powershell

我被朋友挑战要做以下事情:

"找到按文件名的最后一个字符排序目录列表​​的最快捷最简单的方法."

他是在Linux上使用以下方法完成的:

ls | rev | sort | rev 
Run Code Online (Sandbox Code Playgroud)

我想向他展示powershell的替代方案,但我只是刚刚开始学习powershell而我无法做到.所以,我在欺骗并寻求你的帮助.

Kei*_*ill 8

这是我的条目:

ls | sort {"$_"[-1]}
Run Code Online (Sandbox Code Playgroud)

并获得病态:

ls|sort{"$_"[-1]}
Run Code Online (Sandbox Code Playgroud)


Sam*_*gan 5

不幸的是,Powershell没有一个很好的简单反向方法,所以你必须得到字符串的最后一个字母并按此排序.这是我做过的一种方式:

dir| sort {$_.name.Substring($_.name.length-1)}
Run Code Online (Sandbox Code Playgroud)

正如已经指出的那样,这将严格按最后一个字母排序,而我的Linux版本将按最后一个字母和后续字母排序,因此可能有更好的方法来执行此操作,或者您可能必须引入一些循环如果你想那样的话.