powershell - Find character position and update file name -
what function might use find character position in string using powershell 2.0.
i.e use charindex or patindex if using sql server.
i looked @ using select-string
cmdlet doesn't seem need do.
ultimately i'm looking find "_" character in file name , strip off following "." .
example file name 237801_201011221155.xml
final solution, below strips out characters , including <_> <.> .xml files in current directory
get-childitem *.xml | rename-item -newname ` { $_.name -replace $_.name.substring($_.name.indexof("_"), ` $_.name.lastindexof(".") - $_.name.indexof("_") ),''}
will end 237801.xml
the string .net string can use .net methods. in case:
$index = "the string".indexof(" ")
will return 3, first occurrence of space in string. more information see: http://msdn.microsoft.com/en-us/library/system.string.aspx
for need try like:
$s.substring($s.indexof("_") + 1, $s.lastindexof(".") - $s.indexof("_") - 1)
or use regexps:
if ($s -match '(_)(.*)(\.)[^.]*$') { $matches[2] }
(has adjusted depending on need).
Comments
Post a Comment