Tôi đã thực hiện nhiều tìm kiếm về điều này và chưa tìm ra câu trả lời, nhưng tôi cảm thấy như tôi đã gần gũi!Cách thay thế ngày trong tệp văn bản bằng Powershell bằng cách sử dụng cụm từ thông dụng
Tôi có ngày trong tệp văn bản theo định dạng sau: 18/06/2012 23:00:43 (dd/mm/yyyy HH:MM:SS)
mà tôi muốn chuyển đổi thành: 2012-18-06 23:00:43 (yyyy-dd-mm HH:MM:SS)
bằng Powershell.
Để thực hiện việc chuyển đổi trong một trình soạn thảo văn bản sử dụng biểu thức thông thường tôi sẽ làm điều này:
Find: ([0-9]+)/+([0-9]+)/+([0-9]+)
Replace with: \3-\2-\1
Vì vậy, tôi đã cố gắng sử dụng logic này tương tự trong một kịch bản Powershell sau:
(Get-Content C:\script\test.txt) |
Foreach-Object {$_ -replace "([0-9]+)/+([0-9]+)/+([0-9]+)", "(\3-\2-\1)"} |
Set-Content C:\script\test.txt
nhưng dẫn đến thay đổi không mong muốn sau:
\ 3- \ 2- 2 1 23:00:43
Ai cũng có thể giúp tôi làm móng tay này?
Rất cám ơn trước!
Nếu bạn có một chuỗi ngày trong một số biến ($ ngày) sau đó định dạng lại nó một cách dễ dàng trong PowerShell: *** (Get-Date $ date) ToString ('yyyy-dd-MM HH: mm: ss') *** – EBGreen