2026-10-07

Windows 的 Shell 設置變數為另一指令的值

類似 bash 的下面指令,將變數 A 設為ls的值:

$ A=`ls`

CMD 則是只能處理單行

C:> for /f "delims=" %A in ( '{ 指令 }' ) do set VAR=%A

例如下面指令,會設置變數 NOW,值為當天日期:

C:> for /f "delims=" %A in ( 'echo %DATE%' ) do set NOW=%A

如果是 bat 檔案則

C:> for /f "delims=" %%A in ( '{ 指令 }' ) do set VAR=%%A

要處理多行,powershell 比較簡單:

$a = $({ 指令 })

例如:

PS C:\> $a = $a = $(Get-ChildItem)
PS C:\> $a

參考資料

Microsoft Copilot 給的資料及我自己的實際測試結果

沒有留言:

張貼留言