使用powershell从文件名中删除随机字符串

时间:2013-12-12 01:22:34

标签: powershell powershell-v3.0

我有一系列文件,其中包含一串字符,例如

(AEDOGRES)

示例文件名为

"Test 1(DOWKFUET).png"

我想使用powershell命令来删除括号中的整个字符串,以获得类似的内容。

 "Test 1.png"

我希望能够使用像这样的命令

   dir | rename-item –NewName { $_.name –replace “(*)“,”” }

然而,这对我不起作用。非常感谢任何帮助!

我正在运行powershell 3.0

1 个答案:

答案 0 :(得分:2)

正则表达式和通配符匹配具有不同的规则。在正则表达式中,*表示"匹配前一个字符的零个或多个",并且parens是用于分组结构的保留字符,如果您希望将它们用作分组结构,则必须进行转义(使用反斜杠)字面匹配。

请参阅Get-Help about_regular_expressions,试试这个:

$name = "Test 1(DOWKFUET).png"
$name -replace '\(.+\)',''