As I have mentioned in the Question title, I want to convert the ConvertFrom-Json command's output to string such that, the character/string I get, should be usable such that it can be inserted into DateTime string as replacement to another character.
Currently I have following code to get the present DateTime:
$DTCurr = (Get-Date).tostring("dd-MM-yyyy_hh+mm+ss")
Now in the above code, I want to force replace the plus sign with colon sign, such that the resulting DateTime string can be used in the file-naming, so I am expecting the output(after replacement) like below:
07-11-2020_12:59:13
Now I tried this code for that forced replacement, but it doesn't work:
$colon = ('{ "str": "\uA789" }' | ConvertFrom-Json)
$DTCurr = (Get-Date).tostring("dd-MM-yyyy_hh+mm+ss")
$DTCurr = $DTCurr -replace "\+",$colon
Echo $DTCurr
This gives the output: 07-11-2020_02@{str=꞉}06@{str=꞉}28 which is ridiculous and unexpected. I can assure that $colon does print : when passed to Echo.
Can someone let me know what I doing wrong and help out achieve this ?
Sorry if I'm misconstruing this, but I think your end goal can be simplified by doing this
or this
but if you wanna do it your way, the reason why it's printing that output, is because it's doing exactly what you're telling it to do. You're replacing the
+with an object that has a property namedstrwith a value of:. You would need to do this insteadIf I am incorrect, and you need more assistance, let me know.