2017-03-09 23 views
0

我对PowerShell有点新,并且我被要求使用PowerShell将pdf文件的列表(文件夹)添加到网页。我在网上搜索过,没有任何运气。已经有几个论坛和文章接近,但迄今为止没有什么会真正帮助完成这一特定任务。PowerShell-为.pdf文件的目录(文件夹)中的每个pdf创建html链接(href)

目的:我已经将我的html分成了几个部分;顶部,工作,底部。我创建了一个PowerShell脚本,它将3个单独的.html文件合并为一个。这背后的目标是打包工作的HTML文件与一个文件夹中的所有PDF文件。 pdf文件夹正在每天更新,脚本将在同一时间线上运行。

通常我会发布我的代码,但到目前为止它已经错过了指导,并可能只会让旁观者挠头。我确实有一种感觉,我也应该使用其中之一。

Select-Object FileName,@{name="Link"; expression={"<a href=""" + $web.Url + "/" + $_.FileName + """>Link</a>"}} | Out-File C:\

或者

@{Label="Link";Expression={"<a href='$($_.Value)'>$($_.Name)</a>"}}

的问题是,我不知道如何正确使用这两种的。

只是将其抽出到.html文件中,不会帮助我制作可用的链接。 [System.IO.Directory]::EnumerateFiles('C:\Users\sample\GPDF','*.PDF')| Out-File C:\sample.html

+1

不发布您的实际代码,使围观者摸不着脑袋也是如此。你将如何尝试应用你找到的'Select-Object'表达式之一?如果你证明了这一点,那么容易指出,你的错误在哪里。 –

回答

0

你的问题不是很清楚,但这里可能有帮助。

首先获取pdf_name文件在folder_name目录中的列表。从结果中创建一个表达式。

Get-ChildItem "C:\Folder_Name\" | Where-Object {$_.Extension -eq ".pdf"} | Select-Object @{name="Link"; expression={"a href='$($_.FullName)'>$($_.Name)</a>"}} | Out-File C:\FileName.html 

Results 
Link                                                
----                                                
a href='C:\Folder_Name\1.pdf'>1.pdf</a>                                
a href='C:\Folder_Name\2.pdf'>2.pdf</a> 

我也是新来的PowerShell,所以任何反馈,以改善此脚本将不胜感激。这是你想要的?

+0

我试过你的代码和tkosinski的代码,他有“http”。不知道该怎么做,但没有奏效。你的脚本工作得很好。感谢您的帮助。 – SteveRedcaptain

+0

很高兴我能够提供帮助。 – NepCoder

0

只是为了调整NepCoder的回答有点:

Get-ChildItem "C:\Folder_Name\" | Where-Object {$_.Extension -eq ".pdf"} | 
Select-Object @{name="Link"; expression={"<a href='http://mypath/$($_.Name)'>$($_.Name)</a><br/>"}} | Out-File C:\FileName.html 
相关问题