iT邦幫忙

0

請教寫bat刪除 txt 底部換行符號

請教各位大大
小弟使用CSV轉txt檔案 在文件末端會多一個換行符號(如下例
1|AAA,aa
2|BBB,bb
3|CCC,cc
4|
想要改成
1|AAA,aa
2|BBB,bb
3|CCC,cc
因為文件量多 想說寫一個bat檔能直接對目錄下的檔案做批次處理
目前找到刪換行符號的程式如下
@echo off
setlocal enabledelayexpansion
(for /f "delims=" %%i in ('type "*.txt"') do (
set /p =%%i<nul
))>"a.stp"
還有另個需求是希望修改後保持原檔名
請教這Case該如何修改??

小弟程式新手,學識淺博 若有不是之處還請包涵
感謝

哪一種換行符號?
是CrLf? 還是Lf?
蟹老闆 iT邦大師 1 級 ‧ 2018-04-14 18:28:04 檢舉
有實際測試過嗎?除了尾行沒了換行符號外,其它的與你預期的結果有一樣嗎?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
蟹老闆
iT邦大師 1 級 ‧ 2018-04-14 18:51:30

請參考
1.將底下內容貼到.BAT檔
2.放到與.txt同目錄中
3.以系統管理員身份執行這個批次檔
4.這會影響所有.txt檔,操作前要注意

for %%i in (*.txt) do SET /a Size=%~zi-1&call,fsutil file seteof %%~nxi %Size%

我要發表回答

立即登入回答