iT邦幫忙

0

利用BAT檔讀取TXT檔的內容並過濾後,批次命名資料夾

各位大神好,小弟是只學過C++一個禮拜的非本科生,因為工作需要,想自己寫一個BAT檔。讀取某路徑中的TXT檔(附圖1),並將內文資料篩選過濾後,輸出成另一個TXT檔(附圖2)

https://ithelp.ithome.com.tw/upload/images/20201129/20133056SHt9aRn6O2.png
(附圖1)

https://ithelp.ithome.com.tw/upload/images/20201129/201330563fynDTcDKW.png
(附圖2)

剛開始寫就遇到一個很嚴重的問題:中文顯示成亂碼(附圖3)
https://ithelp.ithome.com.tw/upload/images/20201129/20133056JjbbGADdbi.png
(附圖3)

想請問一下,在CMD中,中文顯示成亂碼的情況要如何解決呢?

PS:如果可以的話,可以直接幫我寫好BAT檔嗎 XD

換別的編輯器重寫。不要直接用記事本。
ccutmis iT邦高手 2 級 ‧ 2020-11-29 12:24:50 檢舉
在CMD中,中文顯示成亂碼的情況要如何解決呢?
chcp 65001
chcp 950
可自行google關鍵字'chcp'
另外這種篩選文字內容再另存文字檔的,我不知道BAT能否做到,但用Powershell似乎可以,底下是google搜的可參考看看:
https://stackoverflow.com/questions/28735795/file-comparison-using-command-prompt

如果是我的話,我會用Python來處理你說的這個工作,應該是相當簡單
用C#或PYTHON做會比較容易,因為都有提供文字檔的函數支援,用批次檔讀檔,在WINDOWS下我是想不到什麼方法,但在LINUX下就有AWK這類的內文分析工具可以用,還支援正則表達式
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
蟹老闆
iT邦大師 1 級 ‧ 2020-11-30 12:45:57

用記事本存檔時要將編碼存成ANSI才不會亂碼

for /f "tokens=1-4" %%i In ('type test.txt') Do Echo %%i %%l >>test2.txt

我要發表回答

立即登入回答