Eu acho que você está perto. Em primeiro lugar, limpe o nome do caminho e a extensão usando a propriedade BaseName
de FileInfo
. Em seguida, apenas pegue a substring começando no índice retornado por IndexOf
:
Get-ChildItem * | ForEach-Object { $_.BaseName.SubString( $_.BaseName.IndexOf('(') ) }
embora você possa querer adicionar algum tratamento de erro nos casos em que não existe (. Talvez algo como isto:
Get-ChildItem * | ForEach-Object { $start = $_.BaseName.IndexOf('('); if($start -ge 0){$_.BaseName.SubString( $_.BaseName.IndexOf('(') )} }