This topic contains 5 replies, has 2 voices, and was last updated by
June 30, 2018 at 3:47 pm #103604
edit: how do I display the two arrow characters on the comma and period keys in this forum? it's getting edited out as 'code'
i'm trying to edit content in a scheduled task. the task xml contains this line
i'm trying to replace the "2018-06-29T" part, but the '2018-06-29' part could be anything, so I need a wildcard.
$content = (Get-Content $task)
$newcontent= $content -Replace "*T",$new
$newcontent is still $content, so I don't think it's finding the text to replace, possibly because of the arrow characters in the text, possibly because of the wildcard. help?
June 30, 2018 at 4:16 pm #103606ParticipantPoints: 399Rank: Contributor
How familiar are you with the concept of regular expressions in general and in Powershell in particular? It is used when you use comparison operators like -match and -replace.
That would lead to a command like this:
$newcontent= $content -Replace ".*T",$new
to "fix" your code.
On the other hand I'm pretty sure there are probably better ways to manipulate a scheduled task than using string acrobatics. 😉 You might show some more of your code. We might help you with this.
July 1, 2018 at 4:17 am #103619
July 1, 2018 at 4:19 am #103622
so the text I need to replace, and the text I need to use to replace it, both contain characters that I can't display in this forum because the forum thinks it's code. and I can't upload a screenshot. it's the left and right arrow characters above the comma and period on the keyboard.
July 1, 2018 at 4:35 am #103624
the text I need to replace: "('less than' symbol)StartBoundary('greater than' symbol)2018-06-18T"
July 1, 2018 at 4:52 am #103627
I went the XML route, and it replaces the text I want, but apparently that doesn't actually affect the scheduled task anyway. i'm trying to change the Date in "startboundary" without changing the time.
$Date = (get-date -Format o).split('T') $xml = [xml](Get-Content $task) $current = $xml.task.Triggers.TimeTrigger.StartBoundary $currenttime = $current.split("T") $new = $date + "T" + $currenttime $xml.task.triggers.timetrigger.StartBoundary = $new $xml.Save($task.FullName)
that code successfully modifies the XML of the task just like I want, but the trigger remains unchanged in the task scheduler GUI.
The topic ‘find and replace wildcard’ is closed to new replies.