2015-04-29 33 views
0

我有一個文件替換下面的PowerShell命令:cmdlet的輸入到另一

(Get-Content c:\myfile.txt) | ForEach-Object { 
    $_ -replace "date is x", "date is 2015.02.29" 
} | Set-Content c:\myfile.txt 

我想硬編碼的日期(2015年2月29日),來自另一個cmdlet:

(Get-Date -format yyyy.MM.dd) 

我該如何注入?

回答

2

只需用命令替換您的硬編碼值:

(Get-Content c:\myfile.txt) | ForEach-Object { 
    $_ -replace "date is x", "date is $(Get-Date -format yyyy.MM.dd)" 
} | Set-Content c:\myfile.txt 
+0

不,你的建議的命令只是當作一個字符串,而不是執行生產日期。 – lox

+1

對不起,忘了$,我正在糾正 –

+1

由於文件是在子表達式中讀取的,所以循環不是必需的:'(Get-Content c:\ myfile.txt)-replace「date is x」,「date is $ (Get-Date -format yyyy.MM.dd)「|設置內容c:\ myfile.txt「。也可能是一個好主意,只需計算一次日期並將其存儲在一個變量中,以避免出現像「腳本正在運行時發生日期更改」這樣的情況。 –

相關問題