.

iT邦幫忙

1

bat檔截斷問題

  • 分享至 

  • xImage

範例:

@echo OFF
chcp 65001

rem 請輸入您的姓名
set Name=王小明

pause

結果會出現
Active code page: 65001

C:\Users>rem 請輸入您的姓名
C:\Users>me=王小明
'me' is not recognized as an internal or external command,
operable program or batch file.

C:\Users>pause
Press any key to continue . . .

想問的是在rem後面加上中文,有些情況並不會發生這樣截斷的狀況
有些情況又會截斷
請問導致這樣的原因是為什麼? 謝謝

看更多先前的討論...收起先前的討論...
這樣的寫法跟回應的內容 感覺沒什麼問題!!
所以你真正的問題是什麼??

這篇你可以參考一下
https://ithelp.ithome.com.tw/questions/10206938
itstudy iT邦新手 5 級 ‧ 2024-11-22 09:03:32 檢舉
抱歉沒說清楚
我的問題是會有非預期的錯誤
'me' is not recognized as an internal or external command,
operable program or batch file.
而後續程式會沒辦法吃到 set Name=王小明 的設定
檔案儲存格式改成ANSI 試試看
nwm310 iT邦新手 3 級 ‧ 2024-11-23 20:19:47 檢舉
行尾的奇數個中文字,影響下一行
itstudy iT邦新手 5 級 ‧ 2024-11-24 11:05:20 檢舉
試過用ANSI 不能顯示中文

行尾的奇數個中文字,影響下一行? 這個可能,請教是甚麼原因或關鍵字? 謝謝
nwm310 iT邦新手 3 級 ‧ 2024-11-24 20:34:31 檢舉
utf8編碼:一個中文字 3 bytes。可能沒有偶數bytes就出錯
set Name="王小明"
要用雙引號,或是 ^王^小^明
看你覺得哪一種比較方便,因為中文是特殊字符,要用雙引號包裹,或是用脫逸字符標示
itstudy iT邦新手 5 級 ‧ 2024-11-25 16:27:15 檢舉
雙引號包住[請輸入您的姓名]的確可以避免問題
但的確如nwm310說的,奇數的中文才會出現問題
.
圖片
  直播研討會

1 個回答

0
stgtv32100
iT邦新手 4 級 ‧ 2024-11-22 08:40:42
最佳解答

不知道您想實現什麼功能,但在rem後加上;或.可以解決這個問題
https://ithelp.ithome.com.tw/upload/images/20241122/20148642l00P4lepl3.png

itstudy iT邦新手 5 級 ‧ 2024-11-22 09:08:08 檢舉

謝謝,功能會利用set Name=王小明 去做後續應用
但在應用前會因為錯誤,導致沒辦法順利吃到Name=王小明 的設定

我發現rem後面加中文有些情況不會出現這樣的問題,想了解原因

我是參考下方文件進行測試,另外我發現您的BAT文件可能儲存為"使用BOM的UTF-8",建議您儲存為 UTF-8 問題可能會比較少

https://stackoverflow.com/questions/48321639/error-is-not-recognized-as-an-internal-or-external-command-operable-program-o

itstudy iT邦新手 5 級 ‧ 2024-11-24 11:06:07 檢舉

是使用BOM的UTF-8還是單純UTF-8? 一開始也以為是編碼問題,但好像不是

我要發表回答

立即登入回答