我正在托管一个 Minecraft Forge 服务器,我想知道 Powershell 脚本是否可以动态运行服务器文件夹中最新的 forge .jar 可执行文件。
作为参考,forge jar 使用这种文件名:
forge-1.11.2-13.20.0.2314-universal.jar
其名称的部分1.11.2-13.20.0.2314
根据 Forge 和 Minecraft 版本的不同而不同(值始终是新月形的)。
因此,假设文件夹中有多个forge-x.x.x-x.x.x-universal.jar
,并且我想执行最新版本,是否可以在 PS 中自动执行此操作?
答案1
您的问题的答案很简单,是“是”。真正的问题应该是如何。如果您没有任何 Powershell 背景,那么执行此操作的代码可能需要在某个时候进行一两次调整。
一些基本的 Powershell:
$filename = "forge-1.11.2-13.20.0.2314-universal.jar"
$peices = $filename.Split("-")
现在您有一个有关文件的项目数组,通过“-”字符拆分。
$mcVersion = $pieces[1]
$forgeVerion = $pieces[2]
现在您拥有了具有您所关注的版本号的变量。
剩下要做的唯一一件事就是使用Get-ChildItem
来拉出文件列表,可能-Filter .jar
还要使用并ForEach-Object
循环遍历所有文件。