Re: [批次] 在每行開頭新增資料

作者: VElysian (くるみ)   2016-09-14 00:09:17
※ 引述《wopicoun (挖屁康)》之銘言:
: 小弟初學batch file
: 想問下如果有我一個txt檔如下
: 123 apple
: 456465 orange
: 88 banana
: .
: .
: .
: 第一欄是數字,第二欄是字串,
: 1.我想要將每一行通過第一欄排序大小
: 2.之後在開頭新增一個新的欄位,放其他字串例如 Aa 123 apple 這樣
: 大致拆成兩步,請問如何只用bat完成呢?
: 感謝
1.
有一些文字編輯器有排序功能
加字的話可以用 regular expression 搜尋取代
2.
批次檔不敷使用
可改用 AutoHotKey (XD)
延虛線剪下貼上即可
尚未測試
使用前請備份檔案 XD
===== 8< =====
; 將檔案內容讀入 content 變數
FileRead, content, C:\要處理的文字檔.txt
; 排序檔案
if not ErrorLevel ; 讀取成功
{
; 排序
sort, content
; 寫入
FileAppend, %content%, C:\要處理的文字檔_已排序.txt
content = ;釋放記憶體
}
; 開頭文字
head = Aa
; 讀取每行
Loop
{
; 讀取
FileReadLine, line, C:\要處理的文字檔_已排序.txt, %A_Index%
; 增加文字
line = %head% %line%
; 讀取錯誤則跳出
if ErrorLevel
break
; 寫入此行
FileAppend, %line%, C:\要處理的文字檔_已加字.txt
}
===== >8 =====
參考資料
https://www.autohotkey.com/docs/Tutorial.htm
https://www.autohotkey.com/docs/commands/Sort.htm
https://www.autohotkey.com/docs/commands/FileAppend.htm
https://www.autohotkey.com/docs/commands/FileReadLine.htm
作者: fossil313 (陣雨)   2016-09-14 02:01:00
是版主!
作者: wopicoun (挖屁康)   2016-09-14 07:42:00
感謝版主,我原本是希望只用bat做,看來是不行了

Links booklink

Contact Us: admin [ a t ] ucptt.com