Найти позицию символа и обновить имя файла

Какую функцию можно было бы использовать для поиска позиции символа в строке с помощью PowerShell 2.0.

т.е. я бы использовал CHARINDEX или PATINDEX при использовании SQL Server.

Я рассматривал использование командлета Select-String , но, похоже, он не выполняет то, что мне нужно.

В конечном итоге я ищу символ "_" в имени файла и убираю все до следующего "." .

Пример имени файла 237801_201011221155.xml

Окончательное решение. Ниже вырезаются все символы, включая <_> - <.>, Для всех файлов .xml в текущем каталоге.

Get-Childitem *.xml | Rename-Item -newname `
  { $_.name -replace $_.name.SubString($_.name.IndexOf("_"), `
       $_.name.LastIndexOf(".") - $_.name.IndexOf("_") ),''}

В итоге будет 237801.xml

16
задан Andreas Niedermair 18 February 2016 в 08:49
поделиться