
【已處理】批處理怎樣修改文本內部路徑最后由 HerveyHu 于 -11-25 09:52是這樣的,有個文檔需要經常配置路徑地址,索性寫了個bat,要實現的的目的如下,麻煩大佬幫忙想想辦法,感謝!:要修改文件中所有 IceBox (IceBox是文件夾)之前的路徑,比如 G:111IceBoxIceBox_wf.dll,(G:111)隨便變成什么地址,(IceBox*)這個和后面的內容不變,所以本人嘗試寫了代碼,不能完全解決問題, 路徑只會會無限添加成比如G:333222111IceBoxIceBox_wf.dll,請問有沒有好的解決方法,謝謝!要修改的文件內容:java_app_classnet.icefai.Main.IceBoxjava_app_classpath G:111IceBoxIceBox_wf.dlljava_app_starticeStartjava_app_stop iceStopallow_stoptruedelay_start falsetext_dirG:111IceBoxtextbat 修改路徑代碼如下:
nclick="copycode($('code0'));">復制代碼
- REM 獲取bat上級路徑
- set bd=%cd%
- cd..
- set bbd=%cd%
- cd %bd%
- set Newdisk=%bbd%
- REM 讀取舊盤符
- for /f tokens=1 delims= %%i in ('findstr IceBox %strIceBoxFilePath%') do (
- for /f tokens=2 delims= %%j in (%%i) do (
- set OldDisk=%%j
- )
- )
- REM 讀取IceBox_*.dat所有內容
- for /f eol=! tokens=* %%l in (%strIceBoxFilePath%) do (
- REM 設置變量str為每行內容
- set str=%%l
- REM 如果該行有舊盤符a,則將其改為新盤符A
- set str=!str:%Olddisk%=%Newdisk%!
- REM 把修改后的全部行存入$
- echo !str!>>$
- )
- REM 替換原文件
- move $ %strIceBoxFilePath%
- echo 設置完成!

