標題:
取代內文的批次檔問題
發問:
請問一下各位大大 假設今天我有一個檔案叫做12345.txt 裡頭有上百筆資料 第1行 123 第2行 456 第3行 789 第N-1行 $$$ 777 第N行 ### 第N+M行 &&& 然後我想在第N行的 ### 後面插入文字 變成### 579 接著把第N-1行的 $$$ 777取代成$$$ 778 請問這種寫法用批次檔達的到嗎? 更新: 是搜尋文字喔 要搜尋 ### 然後在後面插入文字 下面也是要搜尋$$$ 然後修改在$$$後面的文字
最佳解答:
『然後我想在第N行的 ### 後面插入文字 ...』 取代原則為何 ? 是依行號還是搜尋文字 ? 依行號:不論第N行的文字內容是“###”還是“@@@”或其他文字,就在文字後面加上您要的“579”。 搜尋文字:不論行號N為何,若該行文字內容是“###”,就在文字後面加上您要的“579”。 『$$$ 777取代成$$$ 778』若 N-1 行的文字並非“$$$ 777”,取代原則為何 ? 還是無論第 N-1 行內容為何,皆強制改為“$$$ 778”? 2010-03-29 08:30:11 補充: 原先想知道別人的處理方式,結果還是沒人願意分享做法 ...... 這問題若在原來的 12345.txt 中,無空行的話,非常好處理;若含了空行(並且空行在輸出檔中須保留),就會讓人頭疼,而且是非常疼 ~~ @echo off set F1=12345.txt set F2=%F1%.tmp copy /Y NUL %F2% 1>NUL for /F "tokens=1* delims=]" %%i in ('type %F1%^|find /N /V ""') do ( if "%%j"=="###" ( echo %%j 579>>%F2% ) else if "%%j"=="$$$ 777" ( echo $$$ 778>>%F2% ) else ( echo %%j>>%F2% ) ) move /Y %F2% %F1% (以上程式碼會保留空行)
其他解答:
- 點擊百科全書 (5506)
- 點擊百科全書 (7211)
- 點擊百科全書 (6735)@1@
- 點擊百科全書 (1383)
- 點擊百科全書 (6028)@1@
- 點擊百科全書 (743)@1@
- 點擊百科全書 (2184)@1@
- 點擊百科全書 (9654)@1@
- 點擊百科全書 (4432)@1@
- 點擊百科全書 (6406)
- 點擊百科全書 (5506)
- 點擊百科全書 (7211)
- 點擊百科全書 (6735)@1@
- 點擊百科全書 (1383)
- 點擊百科全書 (6028)@1@
- 點擊百科全書 (743)@1@
- 點擊百科全書 (2184)@1@
- 點擊百科全書 (9654)@1@
- 點擊百科全書 (4432)@1@
- 點擊百科全書 (6406)
此文章來自奇摩知識+如有不便請留言告知
D4CDE60C03A2F1BC