|
qq11211
初级用户
积分 42
发帖 15
注册 2006-5-11
状态 离线
|
『楼 主』:
求助从文本中逐行提取代码,并分别赋值于不同的变量中
文本test.txt 内容
"gl3Gy2hUKeS.9qdcjgkWtA--.chatCategories"=dword:45836378
"AhUunOLNkbj5gjiC9Cr57Q--.chatCategories"=dword:457707ca
"kl3Gy2thKeSr9qdcjgjWtA--.chatCategories"=dword:458363ss
"lhUunOfffbj5gjC9Cgk57Q--.chatCategories"=dword:457707gh
"..........."
说明:文本内行数不固定 ,一般<6 行
问题:如何将每行中“ =”号左边引号内的全部代码 分别 赋值到变量1,变量2,变量3,变量n?
运行批处理文件后,最后的结果是 (=号后面的内容)
%变量1%=gl3Gy2hUKeS.9qdcjgkWtA--.chatCategories
%变量2%=AhUunOLNkbj5gjiC9Cr57Q--.chatCategories
%变量3%=gl3Gy2thKeSr9qdcjgjWtA--.chatCategories
%变量4%=AUunOfffbj5gbjiC9Cr57Q--.chatCategories
%变量n%=n.........
查看变量的结果是
echo %变量1% > test2.txt
echo %变量2% >> test2.txt
echo %变量3% >> test2.txt
echo %变量4% >> test2.txt
echo %变量n% >> test2.txt
test2.txt 的内容
gl3Gy2hUKeS.9qdcjgkWtA--.chatCategories
AhUunOLNkbj5gjiC9Cr57Q--.chatCategories
gl3Gy2thKeSr9qdcjgjWtA--.chatCategories
AUunOfffbj5gbjiC9Cgr57Q--.chatCategories
n.........
请各位指教,谢谢!
此贴昨天发错了地方,请谅解
|
|
2006-12-19 02:41 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
|
2006-12-19 03:00 |
|
|
qq11211
初级用户
积分 42
发帖 15
注册 2006-5-11
状态 离线
|
『第
3 楼』:
再次谢谢版主,我的批处理如下,中间是您的代码,我的最终目的是要把变量赋值到文件名,copy语句又如何循环,麻烦您帮我搞定吧。我是初学者,基本上是不懂的那一行的,您就多费心顺便说明一下。
@echo off
@regedit /e room.reg "HKEY_CURRENT_USER\Software\pager\timestamps"
@type room.reg | find ".chatCategories" > room.txt
@FOR /F "delims== " %%i in (room.txt) do @set nema=%%~i
----------------------------------------
set num=0
for /f "delims==" %%i in (test.txt) do call :set_var %%i
pause
goto :eof
:set_var
set var=%1
set "var=%var:~1,-1%"
set /a num+=1
echo "var%num%=%var%"
goto :eof
----------------------------------------
@copy room d:\room\%nema1%.xml
@copy room d:\room\%nema2%.xml
@copy room d:\room\%nema3%.xml
@copy room d:\room\%nema4%.xml
|
|
2006-12-19 05:47 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
4 楼』:
qq11211兄下面代码:
@copy room d:\room\%nema1%.xml
@copy room d:\room\%nema2%.xml
@copy room d:\room\%nema3%.xml
@copy room d:\room\%nema4%.xml 可以简写成下面方式:
for /L %%i in (1,1,4) do copy room d:\room\%nema%%%i.xml
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-12-19 06:03 |
|
|
qq11211
初级用户
积分 42
发帖 15
注册 2006-5-11
状态 离线
|
『第
5 楼』:
根据namejm版主代码,修改为
@echo off
@regedit /e room.reg "HKEY_CURRENT_USER\Software\pager\timestamps"
@type room.reg | find ".chatCategories" > room.txt
for /f "delims==" %%i in ( room.txt) do call :set_var %%i
goto :eof
:set_var
set var=%1
@copy room d:\room\%var%.xml
goto :eof
运行后就是我要得结果,但不知道
for /f "delims==" %%i in ( room.txt) do call :set_var %%i
goto :eof
:set_var
应该如何理解,请版主辛苦解释一下,另外是否还有更简单的办法,请各位指点。
[ Last edited by qq11211 on 2006-12-19 at 09:16 AM ]
|
|
2006-12-19 09:11 |
|
|
qq11211
初级用户
积分 42
发帖 15
注册 2006-5-11
状态 离线
|
|
2006-12-19 09:12 |
|
|
261621998
初级用户
积分 32
发帖 23
注册 2008-5-5
状态 离线
|
|
2008-5-19 22:13 |
|
|
dslz666
中级用户
积分 233
发帖 117
注册 2007-11-28
状态 离线
|
|
2008-5-19 23:43 |
|