gpt4 book ai didi

powershell - 查找角色位置并更新文件名

转载 作者:行者123 更新时间:2023-12-03 14:35:00 26 4
gpt4 key购买 nike

使用PowerShell 2.0可以使用什么函数在字符串中查找字符位置。

即如果使用SQL Server,我将使用CHARINDEX或PATINDEX。

我看着使用Select-String cmdlet,但它似乎并没有执行我需要的操作。

最终,我希望在文件名中找到一个“_”字符,并将所有内容都剥去以下“。”。 。

示例文件名 237801_201011221155.xml

最终解决方案,以下内容去除了当前目录中所有.xml文件中所有字符,包括<_>到<。>

Get-Childitem *.xml | Rename-Item -newname `
{ $_.name -replace $_.name.SubString($_.name.IndexOf("_"), `
$_.name.LastIndexOf(".") - $_.name.IndexOf("_") ),''}

最终以 237801.xml

最佳答案

该字符串是.NET字符串,因此您可以使用.NET方法。在您的情况下:

$index = "The string".IndexOf(" ")

将返回3,这是字符串中第一个出现的空格。有关更多信息,请参见: http://msdn.microsoft.com/en-us/library/system.string.aspx

为您的需要尝试类似:
$s.SubString($s.IndexOf("_") + 1, $s.LastIndexOf(".") - $s.IndexOf("_") - 1)

或者您可以使用正则表达式:
if ($s -Match '(_)(.*)(\.)[^.]*$') {  $matches[2] }

(必须根据实际需要进行调整)。

关于powershell - 查找角色位置并更新文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5095782/

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