我正在尝试编写Powershell代码,以从多个文件的文件名中识别具有特定字符的字符串。
文件名示例
20190902091031_202401192_50760_54206_6401.pdf
$Variable = $Filename.Substring(15,9)
结果: 202401192 (这就是我的追求)
但是在某些情况下,文件名如下所示
20190902091031_20240119_50760_54206_6401.pdf
$Variable = $Filename.Substring(15,9)
结果: 20240119 _ (这不是我追求的目标)
我正在尝试找到用于识别第9个字符的代码
如果第9个字符=“ _” 然后设置
$Variable = $Filename.Substring(15,8)
结果: 20240119
答案 0 :(得分:1)
所有归功于TheMadTechnician,他们用这个答案击败了我。
要稍微扩展一下技巧,请在每次出现某个字符时,使用split方法或运算符对字符串进行分割。您的数据由下划线字符分隔,因此是使用此技术的完美示例。通过使用以下任一方法:
$FileName.Split('_')
$FileName -split '_'
您可以将长字符串转换成较短字符串的数组,每个短字符串都包含原始字符串的一部分。由于您想要第二个,所以使用数组描述符[1](0为第一),就可以了。
祝你好运