我在PowerShell脚本中有以下语句来获取特定文件
$imptext = "E:\imp\old"
$strAttachment = dir $imptext | sort -prop LastWriteTime | Where-Object {$_.name -like "*Imptextfiles*"} | Where-Object {$_.lastwritetime -gt (Get-Date).AddHours(-1)} | select -last 1 | foreach-object -process { $_.FullName }
如何写入托管该文件的路径$strAttachment
以及确切的文件名?
答案 0 :(得分:0)
您想获取该文件的目录吗?只需使用Split-Path cmdlet:
即可$attachmentDirectory = Split-Path $strAttachment
您也可以使用Get-DirectoryName
:
$attachmentDirectory =[System.IO.Path]::GetDirectoryName($strAttachment)
此外,您可以改善初始脚本(使用-Filter
代替两个Where-Object
)
$strAttachment = Get-ChildItem $imptext -Filter '*Imptextfiles*' |
Where-Object Lastwritetime -gt (Get-Date).AddHours(-1) |
sort LastWriteTime |
select -last 1 |
select -ExpandProperty FullName