|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2010-01-14, 01:38 PM | #1 |
註冊會員
|
疑問 - 如何寫一個批次取代修改文件中的文字
小弟有一個問題想問各位高手
我有一個文字檔 想把裡面一個特定的字依序取代掉 例如: caseD-1-00001-->caseD-1-00002 caseD-1-00001-->caseD-1-00003 caseD-1-00001-->caseD-1-00004 caseD-1-00001-->caseD-1-00005 紅色的字取代成藍色的字 我知道word有取代功能 但是他只能取代成同樣的文字 不能依序更換取代的文字 想請問各位高手 有什麼方法可以解決 感謝!!! |
送花文章: 2,
|
2010-01-14, 10:16 PM | #2 (permalink) |
註冊會員
|
請問:
1.文件檔中的替代文字位置是否固定? 2.文件檔行數是否固定? 3.可否貼一段(幾行)實際字串範例? 一般來說,批次檔需叫出背景編輯軟體才能自動將 文件檔中的文字替代為另一文字。因此除需準備背 景編輯軟體外,另需準備背景編輯軟體的編輯描述 檔。 下載Editor軟體,該軟體提供不少編輯指令,看是否 滿足需求。 http://www.4shared.com/file/13333482...84/Editor.html |
送花文章: 4,
|
2010-01-18, 10:22 AM | #3 (permalink) |
註冊會員
|
感謝大大的回覆
我在對我要處理的文件做個詳細說明 1.文件檔中的替代文字位置是否固定? Ans:固定的 2.文件檔行數是否固定? Ans:固定的 我要處理的文件是一個程式的指令,因為有很多case重複同樣動作 所以只須修改指令中的case名稱,就可以連續執行,省下不少時間 下面是我貼出2大段的指令 (cx-gui-do cx-activate-item "MenuBar*ReadSubMenu*Case & Data...") (cx-gui-do cx-set-text-entry "Select File*FilterText" "e:\fluent-case & data\paper\vibrating-plate-vertical-channel\2d-case\cased\cased-1\dm\*") (cx-gui-do cx-activate-item "Select File*Apply") (cx-gui-do cx-set-text-entry "Select File*Text" "caseD-1-DM-1-00661.cas") (cx-gui-do cx-activate-item "Select File*OK") (cx-gui-do cx-activate-item "NavigationPane*Frame1*PushButton19(Graphics and Animations)") (cx-gui-do cx-activate-item "Graphics and Animations*Frame1*Table1*Frame7*ButtonBox7*PushButton1(Options)") (cx-gui-do cx-set-toggle-button "Display Options*Frame4(Layout)*CheckButton1(Titles)" #t) (cx-gui-do cx-activate-item "Display Options*Frame4(Layout)*CheckButton1(Titles)") (cx-gui-do cx-set-list-selections "Display Options*Frame4(Layout)*DropDownList5(Colormap Alignment)" '( 3)) (cx-gui-do cx-activate-item "Display Options*Frame4(Layout)*DropDownList5(Colormap Alignment)") (cx-gui-do cx-activate-item "Display Options*PanelButtons*PushButton1(Apply)") (cx-gui-do cx-activate-item "Display Options*PanelButtons*PushButton2(Close)") (cx-gui-do cx-activate-item "MenuBar*DisplayMenu*Views...") (cx-gui-do cx-activate-item "Views*Frame2(Actions)*ButtonBox2(Actions)*PushButton6(Read)") (cx-gui-do cx-set-text-entry "Select File*FilterText" "e:\fluent-case & data\paper\vibrating-plate-vertical-channel\2d-case\cased\*") (cx-gui-do cx-activate-item "Select File*Apply") (cx-gui-do cx-activate-item "MenuBar*ReadSubMenu*Case & Data...") (cx-gui-do cx-set-text-entry "Select File*FilterText" "e:\fluent-case & data\paper\vibrating-plate-vertical-channel\2d-case\cased\cased-1\dm\*") (cx-gui-do cx-activate-item "Select File*Apply") (cx-gui-do cx-set-text-entry "Select File*Text" "caseD-1-DM-1-00661.cas") (cx-gui-do cx-activate-item "Select File*OK") (cx-gui-do cx-activate-item "NavigationPane*Frame1*PushButton19(Graphics and Animations)") (cx-gui-do cx-activate-item "Graphics and Animations*Frame1*Table1*Frame7*ButtonBox7*PushButton1(Options)") (cx-gui-do cx-set-toggle-button "Display Options*Frame4(Layout)*CheckButton1(Titles)" #t) (cx-gui-do cx-activate-item "Display Options*Frame4(Layout)*CheckButton1(Titles)") (cx-gui-do cx-set-list-selections "Display Options*Frame4(Layout)*DropDownList5(Colormap Alignment)" '( 3)) (cx-gui-do cx-activate-item "Display Options*Frame4(Layout)*DropDownList5(Colormap Alignment)") (cx-gui-do cx-activate-item "Display Options*PanelButtons*PushButton1(Apply)") (cx-gui-do cx-activate-item "Display Options*PanelButtons*PushButton2(Close)") (cx-gui-do cx-activate-item "MenuBar*DisplayMenu*Views...") (cx-gui-do cx-activate-item "Views*Frame2(Actions)*ButtonBox2(Actions)*PushButton6(Read)") (cx-gui-do cx-set-text-entry "Select File*FilterText" "e:\fluent-case & data\paper\vibrating-plate-vertical-channel\2d-case\cased\*") (cx-gui-do cx-activate-item "Select File*Apply") 我希望能把紅色的數字部分取代掉 第一個00661-->00662 下一個00661-->00663 一直重複動作 小弟對寫程式方面比較薄弱 希望各位高手能幫小弟解決這個問題 感激不盡 |
送花文章: 2,
|
2010-01-18, 10:55 PM | #4 (permalink) |
註冊會員
|
一、下載Editor軟體
二、製作 cmd 檔如下: rem =================================== rem 將 editorfile.txt 改為 實際需檔名 rem =================================== editor edit-script.txt editorfile.txt rem =================================== 三、製作edit-script.txt 檔如下: =================================== r 00661 00662 r 00661 00663 r 00661 00664 r 00661 00665 r 00661 00666 ' ' 將編輯長度加長到夠長,足以處理所有資料 ' r 00661 00xxx r 00661 00yyy r 00661 00zzz =================================== 四、執行 cmd 檔即可把紅色的數字部分取代掉 |
送花文章: 4,
|
2010-01-19, 10:01 PM | #6 (permalink) |
註冊會員
|
假定你貼出的案例檔案名稱為 'editorfile.txt'
那麼將edit-script.txt 檔設定如下: =================================== r 00661 00662 r 00661 00663 =================================== 然後執行以下 CMD 檔: rem =================================== editor edit-script.txt editorfile.txt rem =================================== |
送花文章: 4,
|
2010-01-25, 10:40 AM | #10 (permalink) |
註冊會員
|
分享一個更簡單的方法...用WSH...
[步驟1]在C:\ 建立一個文字檔"data.txt",裡面的內容是...
caseD-1-00001 caseD-1-00001 caseD-1-00001 caseD-1-00001 =============== [步驟2]在C:\ 建立一個文字檔並命名為 "fixNum.vbs",裡面的內容是... Set objRegEx = CreateObject("VBScript.RegExp") Dim arrFileLines() AAA = "" i = 0 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("C:\data.txt", 1) Do Until objFile.AtEndOfStream Redim Preserve arrFileLines(i) arrFileLines(i) = objFile.ReadLine i = i + 1 Loop objFile.Close 'readfile finished! Set objRegEx = CreateObject("VBScript.RegExp") objRegEx.Global = True objRegEx.IgnoreCase = True objRegEx.Pattern = "\d{5}" For l = LBound(arrFileLines) to UBound(arrFileLines) Step 1 strNewString = objRegEx.Replace(arrFileLines(l),"0000" & (l+1) ) AAA = AAA & strNewString & chr(10) Next Wscript.Echo AAA ================== [步驟3]在DOS模式底下執行[步驟2]的fixNum.vbs即可~ 例如: C:\fixNum.vbs [enter] 執行結果: caseD-1-00001 caseD-1-00002 caseD-1-00003 caseD-1-00004 ================ 執行結果是用Echo出來的,也可以將它寫回文字檔...用VBSCRIPT的語法~分享~ |
送花文章: 0,
|
|
|
相似的主題 | ||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
求助 - 如何寫一個刪除固定檔案的批次檔? | 丹楓 | 一般電腦疑難討論區 | 9 | 2009-03-25 09:24 PM |
求助 - 如何寫一個刪除登錄檔機碼的批次檔,在匯入時不要提示使用者是或否? | 風流瀟灑 | 一般電腦疑難討論區 | 5 | 2007-09-18 02:49 AM |
求助 - 如何寫一個批次檔讓光碟片放入後自動執行光碟片中的執行檔呢 | 丹楓 | 一般電腦疑難討論區 | 3 | 2007-04-21 03:24 PM |
如何寫一個可以同時開啟winamp及kkman的批次檔 | ipisking | 一般電腦疑難討論區 | 15 | 2005-02-23 11:25 PM |