這段時間對於.NET開發者 (或者任何關注于微軟技術的開發者) 來説最大的新訊息莫過於Build 2019的大會内容了。
相信大會上面有很多Session是大家感興趣的,有些甚至希望下載下來能夠放到手機或者平板在網路不好的時候可以觀看。
不過每一個有興趣的Session都需要一個一個點下載實在太過於麻煩,更別説除了影片之外,還有可能有slide、字幕等等可以下載。
太麻煩了,懶惰是工程師的美德,這篇看看如何用Powershell自動下載所有的Session。
直接使用 - TL;DR
只需要幾個步驟即可:
- clone或者下載powershell script
可以透過指令:
git clone https://github.com/alantsai/mhat-ps-download-build2019.git
或者下載zip檔案:https://github.com/alantsai/mhat-ps-download-build2019/archive/master.zip
-
開啓powerhsell進入clone或者解壓縮出來的
src
資料夾 -
在
src\Download-BuildResources.ps1
就是下載資源的script檔案。開啓powershell,cd
進入src
資料。 - 依照需求下指令
如果要下載所有Session到當前資料夾的Download下面:
.\Download-BuildResources.ps1 -directory .\Download
如果要下載指定的Session到當前的資料夾下面的Download
.\Download-BuildResources.ps1 -directory .\Download -sessionCodes "CFS3006,BRK2006"
如果Session已經有提供影片、slides等資源的話,將會被下載下來,例如:
- 影片 (*.mp4)
- 字幕 (*.vtt)
- 説明文字 (*.txt)
- slide (*.pptx)
如果對於script的來源,以及如何找到Session code有興趣在往下看。
關於Script的來源
基本上官方這一次有提供一個powershell script能夠幫助一鍵下載所有Session或者下載感興趣的Session。
這個powershell script在每一個Session的最下面可以下載的到: Get the bulk session resource download script
但是這個script缺少了一些我想要的元素:
- 下載的資料夾名稱用SessionCode - 很難整理
- 下載的資源缺少字幕
- 下載的資訊缺少最後更新時間 - 這個是爲了如果有更新的時候可以重新下載做準備
因此用了官方提供的内容,進行了一些修改,才有這個專案:https://github.com/alantsai/mhat-ps-download-build2019
如何找到Session Code
假設今天不需要下載全部影片,而是部分影片就好,這個時候可以傳入用逗點分割(CSV)的SessionCode字串,那麽將會只下載有指定的Session。
可是這個Session Code要從那邊來呢?
首先可以先進入到Session Catalog的地方:傳送門
找到感興趣的Session,例如Key Note:傳送門
在右邊的Session Code
就是需要的代碼,以這個爲例子就是KEY
:
未來調整?
由於修改的部分有包含最後更新時間,因此理論上script可以調整去讀這個資訊,然後比對來看看是否需要重新下載。
或者對英文苦手來説能夠把字幕透過Azure的Cognitive Service直接翻譯成中文
不過這個以後再説吧。