作者sanbis (方正)
看板EzHotKey
標題[批次] 關於unicode會變成亂碼與讀取檔案執行
時間Mon Nov 7 22:13:00 2022
我利用編輯器產生了一串的建立資料夾的指令
該 bat 檔案編碼為 UTF-8
mkdir.bat
md "[系統測試][あアいイうウ]"
md "[系統測試]"
md "[あアいイうウ]"
但是在實際執行的時候會變成
c:\demo>md "[蝟餌絞皜祈岫][?弌蝋?换植?琐慎]"
c:\demo>md "[蝟餌絞皜祈岫]"
c:\demo>md "[?弌蝋?换植?琐慎]"
後來想說用迴圈來讀取檔案執行試試看
這時候才想到....靠么~這是 windows 不是 Linux ~
沒有 cat 給我用~Orz
google 上找了一下....雖然有找到透過迴圈讀取檔案的教學
for /f %%a in (mkdir.bat) do (echo %%a)
但是執行的結果只要碰到空白就視為結束
所以只會輸出三個 md
就算用雙引號包住變成
"md [系統測試]"
結果也是一樣~Orz
不知道有沒有哪位可以指點一下以上兩個問題
--
『老闆你好 我是國立的』
『老闆你好 我是私立的』 『腦~~~~~~~闆~~~~~~』 Amy!
◢ ◣有消息會跟你聯絡 ◢ ◣有消息會跟你聯絡 ◢ ◣給她個私人秘書職位
◤ ◥ ◥ ◢ ◤◥ ◥ ◢ ◥◢ ◣ 國立
-○=○- ◤ -□=□- ◤ ◥● ●● ◤ ◥ 私立
◥ ◤ ︶ ◥ ◤ ︶ ● ▼◤ ● ) 尬不過
◢ ◥◣╱
◥ -? ◢ ◣◣╱
◥ - ◢ )●) ▼ ◤ 兩粒
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.206.2 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/EzHotKey/M.1667830382.A.287.html
剛剛 google 找到讀取 txt 檔案的教學就急著把上面那篇砍掉了~
果然人不能高興得太早~( ̄□ ̄|||)a
※ 編輯: sanbis (114.38.206.2 臺灣), 11/07/2022 22:13:50
1F:推 esouxcon: 開啟CMD(這沒辦法用.bat的樣子) 11/07 22:18
2F:→ esouxcon: chcp 65001 11/07 22:18
3F:→ esouxcon: for /f "delims=" %i in (你的資料.txt) do md "%i" 11/07 22:18
4F:→ esouxcon: 你的資料.txt裡面只留要的資料夾名稱 一行一個 11/07 22:18
5F:推 LPH66: 把 chcp 65001 放進 .bat 當第一條指令應該就行了 11/08 06:21
6F:推 cancelpc: 同上,但我會在結束時,切回 950,避免影響其他批次 11/09 17:34
7F:推 esouxcon: 第一時間就試過了 不知道為什麼就是不行 系統Win10 x64 11/09 19:06
8F:→ esouxcon: 22H2 11/09 19:06
9F:→ esouxcon: 後來試了很白爛的方法 chcp 65001執行2次 竟然就可以 11/09 19:06
10F:→ esouxcon: 又試了試 .bat第一行留空白就可以 不知道為什麼 11/09 19:08
11F:→ cancelpc: 因為你的cmd是UTF-8 BOM格式,被BOM部分干擾了第一行 03/09 10:16