作者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/cn.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