如何在文件名中指定要替换的字符的位置?

时间:2019-07-17 17:12:43

标签: powershell file-rename batch-rename

我正在尝试重命名数百个TIFF文件以遵循新的命名约定。我现在遇到一种情况,我想删除或更改文件名中的第4、5或6个字符。

我要更改的字符在文件名中不一定是唯一的。

例如:

  

APADA00010.tif

     

第5个字符= A
  第六个字符= 0

有没有一种方法可以指定我要将第5个字符更改为连字符,还是要删除每6个字符?

我确实找到了另一个用户的类似查询,但该查询用于插入而不是替换,因此它不起作用:

get-childitem -Path .\ |
Rename-Item -NewName {$_.BaseName.insert(5,"-") + $_.Extension}

我对Powershell还是很陌生(上周才刚开始摆弄它),因此,如果您对解决方案的工作原理以及代码的含义进行了解释,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作来删除或替换特定的顺序字符:

$string = "APADA00010.tif"
$string.Remove("5", "1")

$string = "APADA00010.tif"
$string.Remove("4", "1").Insert(4, "-")

请注意,索引从0而不是1开始计数。