每天都会以testDDMMYYY.csv
格式保存当前日期的文件test24112017.csv
。
我需要用Powershell打开当天的文件,但是,我还没有办法让它使用变量。
#Date (24112017)
[String]$a=(Get-Date).ToShortDateString() | Foreach-Object {$_ -replace "\.", ""}
#Open the file called test24112017
[int] $S1=Get-Content "D:\test$($a).csv" -Tail 1 | Foreach-Object {$_ -replace "`"", ""} | ForEach-Object{$_.Split(",")[1]} | write-host
如何让该变量在该路径内工作?
答案 0 :(得分:4)
请勿使用(Get-Date).ToShortDateString() | Foreach-Object {$_ -replace "\.", ""}
,只需使用Get-Date -Format 'ddMMyyyy'
按日期格式化日期:
Get-Content "D:\test$(Get-Date -Format 'ddMMyyyy').csv" -Tail 1
答案 1 :(得分:0)
嗯,你不是有点过于复杂了吗?
首先,
(Get-Date).ToShortDateString()
不会向我24112017
但24-11-2017
。
所以我猜我们有不同的区域设置,你来自世界的哪个部分?
你打印出$a
吗?它给你带来了什么?
我会采取不同的方法。因为你的文件名字面上总是比前一个更新(因为它有一个日期)。 我只想对名称进行排序并选择第一个(也就是最新的文件)。
$newestfile = Get-ChildItem c:\temp | Sort-Object Name -Desc | select * -First 1
现在用你最新的文件做你想做的事。
get-content $newestfile.fullname