我正在編寫一個腳本,負責從 Windows 終端機讀取命令輸出。
目的是使用命令“ sc query <service_name>
”讀取命令列輸出,並基於正規表示式,使用並向使用者重新發送更簡潔的資料。
問題是,給定使用者語言,輸出內容可能會完全改變。我不應該編寫一個可以sc query
用所有可能的語言解釋“”的腳本。最好在運行腳本之前設定通用語言,這樣無論使用者語言是什麼,我都可以使用單一輸出格式。
搜尋時首先出現的是「chcp
」指令。但它對我不起作用,並且當命令不起作用時進行搜索時也沒有什麼進一步的意義。
您可以在列印畫面中查看我更改語言的嘗試(兩次)以及以葡萄牙語輸出的輸出服務範例。
透過 chcp 更改 cmd 語言的試驗的輸出範例:
我需要做什麼?是否有其他方法可以更改 cmd 語言,或者我需要執行其他操作才能使命令chcp
正常工作?
答案1
答案2
CHCP
更改編碼而不是語言。沒有命令可以做到這一點。如果您安裝了多種語言,系統通知區域上會出現一個用於變更語言的圖示。
所以這個命令不符合我的想法。為什麼它不像我想的那樣?
答案3
我建議的方法,發現於所以回答相關問題, 是為了針對與區域設置無關的非常具體的事物。在這種情況下,為了從 取得服務狀態sc.exe
,目標是取得標識狀態的整數(發現它獨立於活動語言,因此是穩健的)。
簡短範例(連結答案中的其他詳細資訊):
for /F "skip=3 tokens=3" %%i in ('""%windir%\system32\sc.exe" query "W32Time" 2^>nul"') do (
if "%%i"=="4" (
echo 'W32Time' service is running
goto :SkipRemainingIterations
)
)
:SkipRemainingIterations
答案4
若要在「chcp」指令不起作用時變更 CMD 終端機的語言,可以嘗試下列步驟:
開啟 CMD 終端機:在 Windows 電腦上啟動 CMD 終端機。
檢查語言設定:確認作業系統的目前語言設定。轉到“控制台”或“設定”,然後導航至“語言”或“區域”選項。確保選擇所需的語言作為預設語言。
修改系統區域設定:如果語言變更未反映在 CMD 中,您可能需要修改系統區域設定。在語言設定中,尋找「管理」或「進階」標籤。找到“更改系統區域設定”選項並選擇所需的語言。這將更改非 Unicode 程式的語言設定。
重新啟動電腦:修改系統區域設定後,建議重新啟動電腦。這將確保語言變更生效。
透過執行以下步驟,您應該能夠變更 CMD 終端機的語言。