[批次] 關於unicode會變成亂碼與讀取檔案執行

看板EzHotKey作者 (方正)時間2年前 (2022/11/07 22:13), 2年前編輯推噓4(407)
留言11則, 3人參與, 最新討論串1/1
我利用編輯器產生了一串的建立資料夾的指令 該 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://www.ptt.cc/bbs/EzHotKey/M.1667830382.A.287.html 剛剛 google 找到讀取 txt 檔案的教學就急著把上面那篇砍掉了~ 果然人不能高興得太早~( ̄□ ̄|||)a ※ 編輯: sanbis (114.38.206.2 臺灣), 11/07/2022 22:13:50

11/07 22:18, 2年前 , 1F
開啟CMD(這沒辦法用.bat的樣子)
11/07 22:18, 1F

11/07 22:18, 2年前 , 2F
chcp 65001
11/07 22:18, 2F

11/07 22:18, 2年前 , 3F
for /f "delims=" %i in (你的資料.txt) do md "%i"
11/07 22:18, 3F

11/07 22:18, 2年前 , 4F
你的資料.txt裡面只留要的資料夾名稱 一行一個
11/07 22:18, 4F

11/08 06:21, 2年前 , 5F
把 chcp 65001 放進 .bat 當第一條指令應該就行了
11/08 06:21, 5F

11/09 17:34, 2年前 , 6F
同上,但我會在結束時,切回 950,避免影響其他批次
11/09 17:34, 6F

11/09 19:06, 2年前 , 7F
第一時間就試過了 不知道為什麼就是不行 系統Win10 x64
11/09 19:06, 7F

11/09 19:06, 2年前 , 8F
22H2
11/09 19:06, 8F

11/09 19:06, 2年前 , 9F
後來試了很白爛的方法 chcp 65001執行2次 竟然就可以
11/09 19:06, 9F

11/09 19:08, 2年前 , 10F
又試了試 .bat第一行留空白就可以 不知道為什麼
11/09 19:08, 10F

03/09 10:16, , 11F
因為你的cmd是UTF-8 BOM格式,被BOM部分干擾了第一行
03/09 10:16, 11F
文章代碼(AID): #1ZQH9kA7 (EzHotKey)
文章代碼(AID): #1ZQH9kA7 (EzHotKey)