2025-03-17 12:25 AM 3 1,126
前陣子介紹了用 Whisper API 將 MP3 轉逐字稿,不需準備高檔顯卡,用一顆茶葉蛋的錢,一小時 MP3 轉逐字稿大約兩分鐘可完成,速度跟品質都頗令人滿意。 實測過幾次,發現免不了需要一些轉檔、併檔、拆檔,基本上靠萬能的 ffmpeg 都能解決,但每次遇到要查指令敲指令很沒效率,是時侯寫成共...
2025-03-06 11:51 PM 0 2,055
最近在寫的 PowerShell 小工具,處理過程會有多個選項要請使用者挑一個,最自然的設計方式通常會像這樣: $prompt = "請選擇套餐組合" $options = @("早上三個、晚上四個", "早上四個、晚上三個", &quo...
2025-01-01 11:09 PM 2 2,395
2025 開年第一天就踩雷,耗了快二十分鐘才找出問題,筆記留念。 問題出在我明明在 .gitignore 寫了 .venv,Git 怎麼就是無視我的設定,硬要把 Python .venv 虛擬環境目錄包進版控。 起初以為會不會是檔名打錯字之類的低級問題,睜大眼睛看到眼眶都痛了都沒看出端倪。而在 V...
2024-11-07 10:17 PM 28 3,994
故事要從八年前這篇漫談尾牙抽獎程式的公正性說起,我一向支持讓抽獎程式開源,以擺脫長久以來電腦抽獎常被人指責「黑箱」「作弊」卻百口莫辯的悲情。我認為「演算法及程式碼公開,以具公信力且無法操控的方式決定亂數種子,輸入亂數函數產生可預測的亂數決定抽獎結果,並確保演算結果能被反覆驗證」是面對不公質疑的終極解...
2024-11-05 11:30 PM 0 1,695
遇到用 PowerShell 爬網頁並簡單解析 HTML 取資料的需求,為此研究了做法,筆記備忘。 如果是 PowerShell 5.1,Invoke-WebRequest 背後是用 WebClient,傳回 Response 物件有個 ParsedHtml 屬性 背後是超古老的 IHTMLDocu...
2024-09-19 09:54 PM 0 3,886
系統維運會遇到的狀況:MRTG / PRTG 等監控服務顯示某台伺服器在半夜有一段時間異常 CPU 飆高,比對該時間並無已知的應用系統排程,想抓出當時是什麼程式在偷用 CPU? 由於發生時間是在半夜,總不能找人熬夜加班,登入主機守株待兔吧?我慣用的簡單解法是設個排程,每分鐘一次把當下執行中的程序、耗...
2024-09-17 05:09 PM 0 682
寫 PowerShell 呼叫 ClosedXML 彙整製作 Excel 報表已是我的日常,無奈學藝不精在一個簡單 Excel 範本套表任務踩坑,搞到三更半夜。最後發現是低級錯誤,深深上了一課。 重現問題程式如下,大家能一眼看出哪裡有問題嗎? $ErrorActionPreference = 'Co...
2024-09-15 09:15 AM 3 2,766
最近遇到一個需求,想將網址轉成 QR Code 附在 Word 文件上。 QR Code 的複雜度與文字長度有關,為了簡化 QR Code 降低掃瞄失敗率,我打算用縮網址服務將又臭又長的 https://www.facebook.com/darkthread.net/posts/pfbid02FB8...
2024-09-05 09:41 PM 0 1,252
我有個困擾,Outlook 收到幾位特定同事寄來內嵌圖片的信,圖片會在回信或轉信後消失,出現叉燒包圖示及無法顯示連結的影像。檔案可能已移動、重新命名或刪除。請檢查連結是否指向正確的檔案及位置。/ The linked image cannot be displayed. The file may h...
2024-09-04 09:07 PM 1 933
PowerShell 與 .NET 工作目錄不同步是剛開始寫 PowerShell 常會踩到的坑之一。 用下面的例子復習這個問題: 我們在 D:\ 下啟動 PowerShell [1],接著切到 D:\sub 資料夾[2],寫入 .\test.txt,此時用 Get-Content .\test....
2024-08-02 10:00 PM 2 1,935
故事從我想在兩個獨立執行 PowerShell 程序間傳輸資料說起。 最開始的想法是寫個迷你 WebAPI,但是寫 WebAPI 不是 PowerShell 的強項,改用 C# 實現有點繞遠路,於是我想起 Named Pipe,一個簡單輕巧的 IPC 選項。過去沒認真研究過,剛好利用機會讓技能樹多長...
2024-07-31 11:03 PM 1 1,101
關於在 PowerShell 使用多執行緒平行執行作業,先前介紹過 Start-Job。 Start-Job 會在背後啟動另一個 Process 跑 ScriptBlock,寫法較簡單但有兩個明顯缺點: 啟動一整個 Process 的成本不低,因此 Start-Job 明顯較笨重,效能也差,慘輸給...
2024-07-08 10:36 PM 0 1,533
為防止服務被濫用、伺服器過載及確保公平性,OpenAI 官方及 Azure 的 OpenAI API 都設有速率限制(Rate Limit),限定每分鐘請求數(RPM)及 Token 數量(TPM)上限。這是用 ChatGPT API 跑批次作業常要面對的問題,上回 PowerShell 整合 Ch...
2024-07-04 09:41 PM 3 2,202
處理資料時請 ChatGPT 幫忙已成日常,就算是寫 PowerShell 時也不例外。因此,我想要有個函式,希望能做到傳 Prompt 批次呼叫 ChatGPT API 執行翻譯、摘要等的任務,隨時隨地想要 AI 就有 AI。 舉個例子,假設我有個 JSON 檔 demo.json: [ ...
2024-06-22 10:48 PM 0 3,252
手邊有個需求,要對放進某個資料夾進行特別處理。為了方便展示及說明,我們假想一個簡單的檔案分類功能,會自動將放進資料夾中的圖檔搬去 image 資料夾,.txt/.html/.xml 搬去 text 資料夾。 這類需求,無腦做法是設個排程定期輪詢(Polling),掃瞄該目錄是否出現新檔案,若有就依附...
2024-06-18 10:48 PM 0 1,659
要查詢有哪些帳號或群組可以登入 Windows 本機操作,最簡單的做法是使用「本機安全性原則」查詢「使用者權限指派/允許本機登入」,而所謂「允許本機登入」對映的是名為 SeInteractiveLogonRight 的 Windows 使用者權限。延伸閱讀:使用 PowerShell 設定使用者權限...