Ho fatto molte ricerche su questo e non ho risolto la risposta, ma mi sento come se fossi vicino!Come sostituire le date nel file di testo con PowerShell usando le espressioni regolari
Ho le date in un file di testo nel seguente formato: 18/06/2012 23:00:43 (dd/mm/yyyy HH:MM:SS)
che voglio convertire in: 2012-18-06 23:00:43 (yyyy-dd-mm HH:MM:SS)
usando Powershell.
Per eseguire la conversione in un editor di testo utilizzando le espressioni regolari farei questo:
Find: ([0-9]+)/+([0-9]+)/+([0-9]+)
Replace with: \3-\2-\1
Così ho provato ad utilizzare questa stessa logica in un il seguente script PowerShell:
(Get-Content C:\script\test.txt) |
Foreach-Object {$_ -replace "([0-9]+)/+([0-9]+)/+([0-9]+)", "(\3-\2-\1)"} |
Set-Content C:\script\test.txt
ma che risulta nella seguente modifica indesiderata:
\ 3- \ 2- \ 1 23:00:43
012.
Qualcuno può aiutarmi a inchiodare questo?
Molte grazie in anticipo!
Se si dispone di una stringa di data in una variabile ($ data), allora per riformattare facilmente in PowerShell: *** (Get-Date $ date) .ToString ('aaaa-gg-MM HH: mm: ss') *** – EBGreen