
【已解決】批處理如何獲取文本里特定行中的指定內容并按指定規則進行字符替換最后由 pcl_test 于 -9-3 12:16[文本處理]批處理如何批量切分指定的字符串一、材料,如:老封推箱子box文件:[Level 1]MapWidth=8MapHeight=8MapData=0011111011122210124212111212232112222121112122210162211101111100Title=Minicosmos 01Author=Aymeric du Peloux[Level 2]MapWidth=8MapHeight=9MapData=000011111111122112224221122312211121121112222221126122211221111111110000Title=Minicosmos 04Author=Aymeric du Peloux……二、生成下列“YSokoban”xsb 格式:
三、老封推箱數字與符號的關系0場外空白1#墻壁2空隔空地 / 過道3.倉位4$箱子5* 箱子 + 倉位6@ 推箱人7+ 推箱人 + 倉位四、我的代碼nclick="copycode($('code0'));">復制代碼
- #####
- ### #
- # $ # ##
- # #. #
- ## #
- ## # #
- #@###
- #####
- ; Level 1
- ####
- ######
- # $#
- #.##
- ## ## ##
- ##
- # @# #
- ######
- ####
- ; Level 2
五、求助批量處理將上述box材料轉成xsb格式……在我的上段代碼中不能自動獲取寬與高的數字,要手工寫。更不能批量處理,寫了一天都沒有成功。底子太差,只好求助高手指點,謝謝了!nclick="copycode($('code1'));">復制代碼
- @echo off
- set a=
- setlocal enabledelayedexpansion
- for /f delims= %%a in (1.txt)do (
- set new=%%a
- :ne
- set/a a+=1,w=%a%*8
- echo,!new:~%w%,8!>>1.txt
- if !a! lss 9 goto:ne
- )
- call:box2xsb 1.txt 1.xsb
- pause
- goto:eof
- :box2xsb
- for %%a in (%1)do (
- for /f delims= %%i in (%%a)do (
- set var=%%i
- set var=!var:0=^ !
- set var=!var:1=^#!
- set var=!var:2=^ !
- set var=!var:3=^.!
- set var=!var:4=^$!
- set var=!var:5=^*!
- set var=!var:6=^@!
- set var=!var:7=^+!
- echo !var!
- )>>%2
- )
- goto:eof

