一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - bat - 解決bat批處理輸出亂碼的問題

解決bat批處理輸出亂碼的問題

2021-10-06 00:58watfe bat

這篇文章主要介紹了解決bat批處理輸出亂碼的問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

亂碼原因

windows的cmd.exe默認編碼格式為ansi
簡體中文版的windows, 其ansi對應微軟codepage為cp936
大致等同于gbk編碼

解決bat批處理輸出亂碼的問題

如果你的bat文件是utf-8編碼的, 或者是是其他codepage下創建的, 比如
windows日語版下創建的bat文件, 保存為ansi編碼時對應cp932, 即shift-jis編碼
windows繁體中文版下創建的bat文件, 保存為ansi編碼時對應cp950, 即big5編碼

當bat文件編碼與當前cmd環境不一致時, 雙擊執行時就會亂碼

解決bat批處理輸出亂碼的問題

解決方法

方法1

將bat文件轉換成你當前操作系統的編碼
比如將utf-8格式bat文件, 右鍵編輯, 然后選文件另存, 指定為ansi編碼, 保存

解決bat批處理輸出亂碼的問題

然后再執行就正常了

解決bat批處理輸出亂碼的問題

方法2

假如你的bat文檔是日文格式的或其他格式, 首先需要將bat文件的編碼轉換到utf-8格式

會python的話可以參考我的另一篇博客
《記錄一些最近用過的編碼轉換》

復制出一些字符串或者是字節集, 跑碼識別一下看是什么的編碼的

然后用文本工具或是python代碼實現轉換

?
1
2
3
4
5
6
7
8
9
10
11
def decoding(path,fromcode,tocode):
    # 以bytes形式讀取bat內容
    with open(path,'rb') as f:
        b = f.read()
        print(b)
    # 解碼另存為'temp.bat'
    with open('temp.bat', 'w', encoding=tocode) as f:
        s = b.decode(fromcode,errors='ignore')
        f.write(s)
 
decoding('dir.bat','gbk','utf-8')

得到utf-8格式的bat文件

接下來需要將你的cmd也調整到utf-8
將以下內容保存為cmd_utf-8.reg然后運行

?
1
2
3
windows registry editor version 5.00
[hkey_current_user\console\%systemroot%_system32_cmd.exe]
"codepage"=dword:0000fde9

此時cmd環境也就變成了utf-8的

解決bat批處理輸出亂碼的問題

然后此時再執行bat文件就不會亂碼了

解決bat批處理輸出亂碼的問題

至于后續將cmd恢復回默認也很簡單
將以下內容保存為cmd_ansi.reg然后運行即可

?
1
2
3
windows registry editor version 5.00
[hkey_current_user\console\%systemroot%_system32_cmd.exe]
"codepage"=-

到此這篇關于解決bat批處理輸出亂碼的問題的文章就介紹到這了,更多相關bat批處理輸出亂碼內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/watfe/article/details/116263492

延伸 · 閱讀

精彩推薦
  • batWindows下用bat命令行方式更改IE代理服務器設置方法

    Windows下用bat命令行方式更改IE代理服務器設置方法

    批處理(Batch),也稱為批處理腳本。顧名思義,批處理就是對某對象進行批量的處理,批處理文件的擴展名為bat,下面通過本文給大家分享Windows下用bat命令...

    大蘿卜空心的6202021-10-06
  • batbat實現一分鐘清除系統中所有垃圾文件

    bat實現一分鐘清除系統中所有垃圾文件

      在桌面上點鼠標右鍵,選擇新建一個“記事本”,把下面的字復制進去,點“另存為”,把文件名定為“清除系統垃圾.bat”就完成,記住后綴名一定要...

    批處理之家10592021-11-14
  • bat變量延遲詳解 call setlocal

    變量延遲詳解 call setlocal

    變量延遲在for語句中起著至關重要的作用,不只是在for語句中,在其他的復合語句中,它也在幕后默默地工作著,為了突出它的重要性,本節內容在單獨的...

    腳本之家5742021-10-08
  • batWindows批處理更改當前工作路徑的BAT

    Windows批處理更改當前工作路徑的BAT

    最近項目上需要獲取文件夾下所有文件信息,因為文件夾是在server上,所以想用批處理bat來獲取該路徑下所有文件信息,然后通過任務計劃管理去每天自動...

    腳本之家12122021-10-07
  • batbat過濾任意字符

    bat過濾任意字符

    早在寫 bat的一個小游戲猜數字的時候我就研究過這個問題 如何在bat里面實現 對輸入的任意字符進行過濾 當時使用的幾種方法如下 ...

    allyesno11802021-12-26
  • bat讓bat批處理以管理員權限運行的實現方法

    讓bat批處理以管理員權限運行的實現方法

    這篇文章主要介紹了讓bat批處理以管理員權限運行的實現方法,需要的朋友可以參考下...

    bat教程網6962021-10-08
  • bat使用 windows bat 腳本命令一鍵啟動MySQL服務的方法

    使用 windows bat 腳本命令一鍵啟動MySQL服務的方法

    這篇文章主要介紹了使用 windows bat 腳本命令 一鍵啟動MySQL服務的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的...

    明金同學14752021-10-07
  • bat批處理重命名系列案例代碼

    批處理重命名系列案例代碼

    這篇文章主要介紹了批處理重命名系列案例代碼,需要的朋友可以參考下...

    張戈10372021-10-07
主站蜘蛛池模板: 母乳在线播放 | 激情自拍网 | 岛国虐乳紧缚媚药调教 | 国产xxxxxx久色视频在 | 91免费播放| 国产精品综合在线 | 美女和男人一起差差 | 精品老司机在线视频香蕉 | 国产高清一区二区三区免费视频 | 亚洲欧美专区精品久久 | 久久久久嫩草影院精品 | 91av俱乐部 | 久久精品国产亚洲AV热无遮挡 | 欧美伊人久久久久久久久影院 | 91东航翘臀女神在线播放 | 91真人毛片一级在线播放 | 秋霞黄色大片 | 久草草在线视视频 | 欧美vpswindowssex| 四虎影院在线 | 国产剧情一区二区三区 | 我们中文在线观看免费完整版 | 五月婷婷在线播放 | 久久水蜜桃亚洲AV无码精品偷窥 | 久久综合久久伊人 | 成年性生交大片免费看 | 色天使亚洲综合在线观看 | 夫妇野外交换激情 | poronovideos变态极限 | 桃色视频破解版 | 日本-区二区三区免费精品 日本破处 | 成人免费视频播放 | 好男人好资源在线观看免费 | 国产在线欧美精品 | a人片| 欧美高清乌克兰精品另类 | 婷婷激情综合五月天 | 精品第一国产综合精品蜜芽 | 香蕉国产精品偷在线播放 | 91大神在线精品播放 | 亚洲成av人在线视 |