在 Powershell 中将文件名中的 3 个连字符中的 2 个替换为 SPACE 连字符 SPACE

在 Powershell 中将文件名中的 3 个连字符中的 2 个替换为 SPACE 连字符 SPACE

我一直在尝试修改 Powershell 中针对类似问题给出的以下示例,以满足我自己的需求。运行示例工作正常。

请您帮助我如何更改以下代码以满足我的需求?

给出示例:

~$test = '1942.009.405_SIENESE 16TH CENTURY__1988_09_08_DATA REPORT_TX_4305010_0002.pdf'~

~$test -replace '^(.+\d{4})`_(\d{2})`_(\d{2}.+)$', '$1-$2-$3'~

结果:

1942.009.405_SIENESE 16TH CENTURY__1988-09-08_DATA REPORT_TX_4305010_0002.pdf

我想修改此代码,以便文件名如下:

DDG376-Run1-432.21-543.32 (1)

成为:

DDG376 - Run 1 - 432.21-534.32 (1)

我想如果我可以(.+\d{4})用搜索替换任何字符串,最多 6 个字符,一个连字符,4 个字符,连字符,(余数),然后用 SPACE 连字符 SPACE 替换连字符,它就会起作用。我不知道如何将数字搜索变成“任何字符串”搜索。

任何帮助都将令人欣慰。

相关内容