文件名中的Powershell变量

文件名中的Powershell变量,powershell,Powershell,每天都会以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:\

每天都会以
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
如何使该变量在该路径内工作?

不要使用
(get Date).ToSortDateString()|对于每个对象{$\u-replace“\”,“}
,只需使用
get Date-Format'ddMMyyyy'
以您想要的方式格式化日期:

Get-Content "D:\test$(Get-Date -Format 'ddMMyyyy').csv" -Tail 1

嗯,你不是把事情复杂化了一点吗

首先,,
(获取日期)。ToSortDateString()
不会给我
24112017
,而是
2017年11月24日
。 我猜我们有不同的地区背景,你来自世界的哪个地区

您打印出$a了吗?它给了你什么

我会选择另一种方法。因为您的文件名总是比上一个文件名更新(因为它包含日期)。 我只需对名称进行排序,然后选择第一个(即最新的文件)

现在用你最新的文件做你想做的事

get-content $newestfile.fullname

“我可以确认@Joseph所说的。它只与“D:\test$a.csv”一起工作。我也这么认为,但我有两个文件用于测试“test.csv”和“test24112017.csv”。使用“D:\test$a.csv”显示“test.csv”的内容,您可以简单地使用:
get content”D:\test$(获取日期格式“ddmmyyyyyy”).csv”-尾部1
谢谢!这很好用!
get-content $newestfile.fullname