2013-07-03 25 views
0

我是Powershell的新用戶。我試圖將文件導出到.csv文件,該文件以計算機名稱和時間戳命名。它適用於計算機名稱或時間戳,但不適用於兩者結合使用。到目前爲止,我有這個:如何使用兩個系統變量來命名文件?

enter code here $ results | export-csv c:\ $(get-content env:computername)$(get-date -f dd-MM-yyyy -HH-mm).csv

回答

1

問題是由erroneus引起的Get-Content - 它會讀取內容來自一個文件並且不用於讀取環境變量。你在找什麼更像

"c:\"+$env:computername+$(get-date -f dd-MM-yyyy-HH-mm)+".csv" 
# Output: 
c:\MyComputer03-07-2013-12-29.csv 
+0

謝謝!它完美的作品! – Gazel

+0

您可能希望將整個表達式嵌入到單個字符串中,如下所示:「C:\ $($ env:computername)_ $(get-date -f dd-MM- yyyy-HH-mm).csv「[我在這裏添加了一個下劃線,這意味着你需要使用」$($ variableName)「語法來區分變量名和下面的字符串元素]。注意:只有當字符串用雙引號(「)引用而不是單引號(') – Nij

1

我喜歡使用-f運算符。它使代碼更容易閱讀。當使用日期作爲時間戳時,我使用的格式爲YearMonthDayHourMinute,這樣,只要您獲取目錄列表,就會對文件進行排序。

$results | 
    Export-Csv -Path ('C:\{0}-{1:yyyyMMddHHmm}.csv' -f $env:COMPUTERNAME,(Get-Date)) 
+0

感謝您的回覆時,纔可以使用這種變量擴展,我可以按照您的建議使用** - f **選項。 – Gazel

相關問題