gpt4 book ai didi

Powershell:按版本号选择文件夹

转载 作者:行者123 更新时间:2023-12-04 23:49:38 25 4
gpt4 key购买 nike

我正在编写一个 PowerShell 脚本,该脚本进入几个文件夹并运行 .bat所述文件夹内的文件。这些文件夹经常更新,我只需要从某种类型的最新文件夹运行脚本。

文件夹看起来像这样:

Core_1.1.2
Core_1.3.4
Core_1.4.1
Extras_1.0.4
Extras_1.2.5
Extras_1.3.8
etc_1.1.2
etc_1.1.9
etc_1.2.6

以上述文件夹为例,我需要进入 Core_1.4.1 , Extras_1.3.8 , 和 etc_1.2.6并运行一个名为 run.bat 的文件它存在于这些目录中的每一个中。

所以我需要的是在 Core_* 中找到最高版本,最高版本 Extras_* , 等等。

如果有某种方法可以获取具有特定前缀的文件夹名称数组,则按字母数字顺序对该数组的元素进行排序,并返回数组中可以完美运行的最后一项。我不想根据修改日期选择文件夹,因为这可能有问题。

最佳答案

有一个 System.Version 类可以帮助您进行解析和排序。这解决了由比较字符串引起的问题。比较字符串将导致字典排序,其中 1.10.0 “低于”1.2.0。这不是比较版本号时使用的典型顺序。像这样的东西可以找到最新的“核心”文件夹:

$core = ls -Filter Core_* | sort { [version]($_.Name -replace '^.*_(\d+(\.\d+){1,3})$', '$1') } -Descending | select -Index 0

然后只需要调用bat文件即可:
 & "$($core.FullName)\activate.bat"

关于Powershell:按版本号选择文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25572505/

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