создание и использование списка в powershell

#powershell

#powershell

Вопрос:

У меня есть следующая строка кода, которая дает мне значение Url и имя в каждом цикле. Я хотел бы добавить все эти значения (Url и name) и использовать их ниже в моем html для отображения на странице. Прямо сейчас один URL-адрес хорошо отображается на странице, но я не уверен, как отобразить и отобразить список элементов.

Мой код:

  Get-ChildItem $workingDir | ForEach-Object {
    $uploadResponse = UPLOAD-FILE -workingDir $_.FullName -tempDir $tempDirectory -clientId $CLIENT_ID -clientSecret $CLIENT_SECRET -artifactname $artifactname
$url = $uploadResponse.url
$name = $uploadResponse.name
    }
 

HTML, где я помещаю URL и имя в тот же метод в коде :

    $OVERVIEW_PAGE_BODY_CONTENT = "<!DOCTYPE html>
    `n<html>
    `n<head>
    `n  <title>Release Notes</title>    
    `n</head>
    `n<body>
`n<p>Please click on this <a href="   $uploadResponse.webUrl   ">$($uploadResponse.name)</a> to download the release.</p>
    
    `n</body>
    `n</html>
 

ответ от UPLOAD-File:

 @{@odata.context=https://test.sharepoint.com/sites/Software/_api/v2.0/$metadata#items/$entity; @odata.type=#oneDrive.item; @odata.id=https://test.sharepoint.com/sites/Software/_api/v2.0/drives/b!oXTiJap3vEWP-R7VIhCoaK56Iw5F_2s7Jm/items/01DF22DBTHCTY; @odata.editLink=drives/b!oXTiJap3vEWP-R7VIhCoaK5C9VpM6whOqv92LwAtEd0vz2KXW2FnS6Iw5F_2s7Jm/items/01DF2VRVTLJT24SRAGJVHZSOUT2DBTHCTY; @content.downloadUrl=https://test.sharepoint.com/sites/Software/_layouts/15/download.aspx?UniqueId=c9f54c6b-0644-4f4d-993a-93d0c3338a78amp;Translate=falseamp;tempauth=eyJ0eXAiOiJKV1oiYmY0NmQzNjAtZTAIjoiYWxsc2l0ZXMuZnVsbGNvbnRyb2wd2xBWT0amp;ApiVersion=2.0; createdBy=; createdDateTime=2020-12-10T17:04:06Z; eTag="{C9F54C6B-0644-4F4D-993A-93D0C3338A78},6"; id=01DHZSOUT2DBTHCTY; lastModifiedBy=; lastModifiedDateTime=2020-12-10T19:41:05Z; name=Archives.zip; parentReference=; webUrl=https://test.sharepoint.com/sites/Software/TestPipelineAutomation/Archives.zip; cTag="c:{C9F54C6B-0644-4F4D-993A-93D0C3338A78},5"; file=; fileSystemInfo=; size=7309}
 

Ответ №1:

См. О правилах цитирования и О присоединении:

 $Data = ConvertFrom-Csv @'
Name,WebUrl
Name1,Url1
Name2,Url2
Name3,Url3
'@

$OVERVIEW_PAGE_BODY_CONTENT = @(
@'
<!DOCTYPE html>
<html>
<head>
<title>Release Notes</title>    
</head>
<body>
'@
    # Get-ChildItem $workingDir | ForEach-Object {
    # $uploadResponse = UPLOAD-FILE -workingDir $_.FullName -tempDir $tempDirectory -clientId $CLIENT_ID -clientSecret $CLIENT_SECRET -artifactname $artifactname
    Foreach ($uploadResponse in $Data) {
        "<p>Please click on this <a href=""$($uploadResponse.webUrl)"">$($uploadResponse.name)</a> to download the release.</p>"
    }
@'
</body>
</html>
'@
) -Join [System.Environment]::NewLine
 

Комментарии:

1. как мне добавить Name1 и URL1 в $Data??

2. Я понимаю это, но вопрос здесь в том, как я могу сначала получить все значения, а затем показать их в HTML. Я понимаю ваш второй пункт, но для первого он все еще неясен, и на самом деле это то, с чем я борюсь

3. Загружаемый ФАЙЛ вызывает API и возвращает json-файл, в котором меня интересует значение $uploadResponse.name и $uploadResponse.url

4. обновлено с помощью примера ответа из UPLOAD-FILE:

5. загрузить файл — это метод, который загружает мои файлы и папки из WorkingDirectory в SharePoint. Я готовлю блокнот здесь, чтобы получить ссылки на файл, в который он загружен, и имя файла. я обновил вопрос с помощью ответа json