這十幾年來,在 Windows 使用 PowerShell 呼叫一些命令列工具,一直都存在一個惱人的問題,那就是傳入 *.exe
的參數會自動將雙引號("
)過濾掉,導致程式無法正確執行。這個問題終於在 PowerShell v7.2.0
得到了解決,這篇文章我就來說說這個問題的來龍去脈。
... 繼續閱讀 ...
我今天遇到了一個棘手問題,原本想透過 PowerShell 寫入一個多行的文字,並放入 Azure Pipelines 執行。這樣的需求我寫過很多次了,不過當下的我突然想不起來確切的語法,所以上網 Google 找到了 PowerShell Multiline String 這篇文章,看到了一個解決方案,當下沒有多想,複製貼上就套用了,而且測試過確實有效,接著就是一連串的鬼打牆,浪費了寶貴的半小時生命。
... 繼續閱讀 ...
在本機進行 Windows 應用程式的測試,最簡易的方法就是啟動 Windows Sandbox 沙盒環境,不用十秒就可以開啟一台臨時的虛擬機,關閉後所有資料都不會保留,非常方便用來驗證許多安裝作業流程。不過 Windows 10 內建的這個 Windows Sandbox 實在是太乾淨了,每次啟動都要手動安裝許多工具才能開始使用,所以我打算用這篇文章記錄一下我會在啟動後執行的自動化命令。
... 繼續閱讀 ...
最近我們公司搬遷到新的地址,公司所有 Microsoft 365 帳號下的地址也要進行更新,所以就寫了個 PowerShell 腳本來批次更新大家的地址資訊。
... 繼續閱讀 ...
每次看到 Scott Hanselman 那套華麗的 PowerShell 命令輸入環境,就覺得自己一定也要設定一個類似的環境,不但使用起來讓人覺得神清氣爽,在同事朋友面前也會顯得出類拔萃。今天這篇文章,我就把設定的過程做個簡單的筆記,照著設定也可以做到一樣的效果。
... 繼續閱讀 ...
Azure Pipelines 有個 Logging commands 可以用來與 Agent 進行溝通,你可以在執行 Pipelines 的過程中,對 Agent 做出許多設定,可以做的事情還蠻多的,而且我之前也寫過好幾篇文章,今天我想專注在「環境變數」這件事情上,尤其是 PATH
環境變數。
... 繼續閱讀 ...
最近一直在處理不同專案的 CI/CD 作業,有個自動化排程作業就需要將應用程式註冊到 工作排程器 (Task Scheduler) 之中,因此就研究了一下如何利用 PowerShell 來完成這個自動化工作。
... 繼續閱讀 ...
我每隔幾年我就會遇到一次 non-Unicode 的編碼問題,真的不常見,但這些年來也處理過無數次了,每次都被搞的很煩。最近在 Linux 環境又遇到棘手的編碼問題,檔案內容是從 ISO-8859-1
(Latin-1) 字集的 Sybase ASE 資料庫轉出,所以編碼是 ISO-8859-1
字集,但內容其實是 BIG5
字集,而我用 Windows Terminal + WSL 2 又只支援顯示 Unicode
字集的文字,所以文字無法正常在螢幕上顯示或複製。幾經嘗試後,我決定把這幾年累積的心得都寫下來,以免日後又要再花時間研究一次。
... 繼續閱讀 ...
我們最近有專案需要發行一個用 ASP.NET Core 5 開發的網站,有經驗的人應該知道,當網站正在執行時,尤其是 Windows 作業系統,過程中所有 *.dll
檔案都會被鎖定,無法成功覆蓋檔案,以致於自動部署失敗。今天這篇文章我打算來分享幾個常見的作法,以及我認為最好的作法。
... 繼續閱讀 ...