gpt4 book ai didi

.net - 带有数字的 Powershell 排序对象名称不正确

转载 作者:行者123 更新时间:2023-12-04 22:12:27 26 4
gpt4 key购买 nike

我正在尝试在文件夹中查找 .sql 文件并根据上次写入时间对其进行过滤。根据上次写入时间,我得到了 4 个文件作为输出。

TestScript10.sql
TestScript5.sql
TestScript6.sql
TestScript7.sql

现在,当我的命令尝试执行排序对象时,我在顶部看到 Testscript10 而不是 TestScript5,我该如何解决这个问题?

我的代码
$File= Get-ChildItem $FileLocation -Filter *.sql | Where-Object {$_.LastWriteTime -gt $datetime} | Sort-Object Name
$File输出
[DBG]: PS SQLSERVER:\>> $File


Directory: C:\SQLScripts


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 5/22/2014 10:20 AM 61 TestScript10.sql
-a--- 5/22/2014 10:16 AM 60 TestScript5.sql
-a--- 5/22/2014 10:24 AM 66 TestScript6.sql
-a--- 5/22/2014 10:10 AM 24 Testscript7.sql

最佳答案

感谢您对我的问题提出的上述所有建议。简化建议后,下面的代码很适合我的情况。这有助于我像 Windows 资源管理器一样按照自然顺序进行排序。

$ToNatural= { [regex]::Replace($_, '\d+',{$args[0].Value.Padleft(20)})}
$File= Get-ChildItem $FileLocation -Filter *.sql | Where-Object {$_.LastWriteTime -gt $datetime} | Sort-Object $ToNatural

关于.net - 带有数字的 Powershell 排序对象名称不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23818825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com