batch 在每行開頭新增資料 - Windows

Regina avatar
By Regina
at 2016-09-14T21:37

Table of Contents

※ 引述《wopicoun (挖屁康)》之銘言:
: 小弟初學batch file
: 想問下如果有我一個txt檔如下
: 123 apple
: 456465 orange
: 88 banana
: .
: .
: .
: 第一欄是數字,第二欄是字串,
: 1.我想要將每一行通過第一欄排序大小
: 2.之後在開頭新增一個新的欄位,放其他字串例如 Aa 123 apple 這樣
: 大致拆成兩步,請問如何只用bat完成呢?
: 感謝

code如下:

@echo off
Setlocal EnableDelayedExpansion
for /f "tokens=1,2*" %%i in (source1.txt) do (
set /a var=1000000000+%%i
echo !var! %%j>>temp1.txt
)
for /f "tokens=1,2*" %%i in ('sort temp1.txt') do (
set /a var=%%i-1000000000
echo !var! %%j>>temp2.txt
set /a count=!count!+1
call :add !count!
)
:add
for /f "skip=%1" %%a in (source2.txt) do (
echo %%a !var! %%j>>result.txt
goto :eof
)
pause
exit

source1.txt和source2.txt
前者是你要排序的Txt檔後者是你要新增的Txt檔
執行產生temp1.txt & temp2.txt & result.txt三個Txt檔
temp2.txt可以不用輸出
result.txt是你要的結果
概念大約就是source1.txt第一欄加上1000000000
就可以用sort指令去排序
排序後再淢回1000000000輸出成temp2.txt
之後再用一個for迴圈和skip選項依序抓source2.txt每行的值
插在每行的前面輸出成result.txt
因為skip的值不能為0
所以source2.txt的第一行需保留為空
兩邊source資料行數不一樣的話
多的就不會輸出了
我寫的話大概就是這樣
期待有高手用更簡單的概念寫出你的需求
附上測試檔
https://goo.gl/LEpwzr





--
Tags: Windows

All Comments

Linda avatar
By Linda
at 2016-09-17T21:40
感謝!!加上一個大數補齊位數我也正好有在stack overflow
看到 不過skip的用法我是第一次學到

Win8重灌Win10卡在開機畫面

Eartha avatar
By Eartha
at 2016-09-14T20:13
下午有在版上發問如何將Win8灌成Win10, 後來採納版友的建議也順利重灌了, 結果照著步驟走再最後要重新開機時就卡在開機畫面都沒有動了,如下圖所示。 https://imgur.com/zTnXsTV 鍵盤按了也都沒有反應, 所以也進不了Bios... 有強制關機再開過也沒有辦法... 不知 ...

win10不知系統管理員密碼

Tristan Cohan avatar
By Tristan Cohan
at 2016-09-14T18:06
作業系統:win10 Service Pack:1511 OS組建10586.545 發生問題頻率:今天開始 是否有做Windows Update:剛剛去看,下載很慢 問題內容: 筆電ASUS X550c從win8免費升到win10 今天手賤裝了line,只能從市集裝我就裝了,裝好是能開line, ...

Windows Update 2016年9月份更新

Edward Lewis avatar
By Edward Lewis
at 2016-09-14T16:23
http://blog.livedoor.jp/nichepcgamer/archives/1061010962.html Windows 7 KB890830 - 惡意程式掃描元件定義更新 KB3185319 - IE 11安全性更新(含Windows 10推廣內容) KB3185911 - 圖型元件安 ...

Win8 重灌成Win 10

Damian avatar
By Damian
at 2016-09-14T15:49
小弟的電腦原先是Win8的, 後來升級成Win10, 今天想說重設一下電腦, 原以為會回到Win10,結果是回到最初的Win8, 自己耍笨也沒辦法... 後來就有看到可以去Windows下載工具下載Win10,但載了兩個小時連10%都不到... 想問有什麼辦法可以直接用重灌的方式將電腦灌成Win1 ...

無法安裝adobe flash player

Rebecca avatar
By Rebecca
at 2016-09-14T14:38
作業系統:win7 pro Service Pack:Service Pack 1 發生問題頻率:今天發生 是否有做Windows Update: 常常做 問題內容: 在下載更新adobe flash player 顯示應用程式初始化錯誤 http://i.imgur.com/SoIik0c.pn ...