![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 07:32 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]如何去掉文本前两行,要求保留空格 |
| 可打印版本 1,026 / 14 |
| 第1楼 HUNRYBECKY | 发表于 2008-07-24 22:23 |
| 银牌会员 发帖 442 积分 1,179 | |
|
[求助]如何去掉文本前两行,要求保留空格 我有一个注册表如下:
? cls REGEDIT4 ;SETUPPATH;D:\\OFFICE2003 [HKEY_CLASSES_ROOT\Installer\Products\4080110900063D11C8EF10054038389C] "ProductName"="Microsoft Office Professional Edition 2003" 现在的问题是我要去掉前两行的?和cls,我使用下面的批处理 for /f "skip=2 tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%ravel%"') do (if "%%b"=="" (echo.>>"%crackfile%") else (echo %%b>>"%crackfile%")) 虽然能输出空行,但是如果文本中有:的话也会被忽略掉后面的部分,如何解决。在线等待。。。。。。。。。。 |
|
| 第2楼 lxmxn | 发表于 2008-07-24 22:25 |
| 版主 发帖 4,938 积分 11,386 | |
|
tokens=1-2*
|
|
| 第3楼 HUNRYBECKY | 发表于 2008-07-24 22:31 |
| 银牌会员 发帖 442 积分 1,179 | |
|
问题解决,如下
rem for /f "skip=2 tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%ravel%"') do (if "%%b"=="" (echo.>>"%crackfile%") else (echo %%b>>"%crackfile%")) for /f "delims=" %%a in ('findstr /n .* "%ravel%"') do ( set str=%%a setlocal enabledelayedexpansion set str=!str:*:=! echo.!str!>>"%crackfile%" endlocal ) 不知道有没有更好的方法。 |
|
| 第4楼 HUNRYBECKY | 发表于 2008-07-24 22:31 |
| 银牌会员 发帖 442 积分 1,179 | |
|
好久没有见到兄弟了。哈哈。能否清楚点?我试过好象不行。能否把代码发出来。
|
|
| 第5楼 obsolete | 发表于 2008-07-24 22:38 |
| 初级用户 发帖 72 积分 192 | |
| 第6楼 lxmxn | 发表于 2008-07-24 22:41 |
| 版主 发帖 4,938 积分 11,386 | |
|
直接在命令行执行下面的试试:
|
|
| 第7楼 lxmxn | 发表于 2008-07-24 22:43 |
| 版主 发帖 4,938 积分 11,386 | |
|
看来我慢了一步哈 ^_^
我也好久没看见兄了啊,在忙什么呢? |
|
| 第8楼 HUNRYBECKY | 发表于 2008-07-24 22:45 |
| 银牌会员 发帖 442 积分 1,179 | |
|
echo.%%b 这个东西好,我原来使用IF....ELSE 判断,没有达到效果。谢谢obsolete兄弟,非常满足要求。
for /f "skip=2 tokens=1,* delims=:" %%a in ('findstr /n .* "%ravel%"') do (if "%%b"=="" (echo.>>"%crackfile%") else (echo %%b>>"%crackfile%")) 这样也可以,我只是把tokens=1,* 搞成tokens=2,* ,呵呵,所以老是出来错误。 [ Last edited by HUNRYBECKY on 2008-7-24 at 10:51 PM ] |
|
| 第9楼 HUNRYBECKY | 发表于 2008-07-24 22:57 |
| 银牌会员 发帖 442 积分 1,179 | |
|
回L兄,最近整理关于加密解密的帖子,在前辈的基础上做了很多修改,这个批处理基本上可以解密所有的文本加密了。感觉还是 copy nul+%ravel% "%crackfile%"命令最简单方便。
下面整理完成了解密的帖子。 [ Last edited by HUNRYBECKY on 2008-7-24 at 11:00 PM ] |
|
| 第10楼 fastslz | 发表于 2008-07-24 23:02 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
都复杂化了^_^
|
|
| 第11楼 HUNRYBECKY | 发表于 2008-07-24 23:07 |
| 银牌会员 发帖 442 积分 1,179 | |
|
对了。for /f "skip=2 tokens=1* delims=: eol=~" %a in ('findstr /n .* your_reg_file') do @echo.%b>>result.txt
测试还是发现问题,如果批处理中有以冒号开头如“:start”则结果会把冒号“:”过滤掉。使用三楼的方法则不会过滤。不知道有没有解决方法,估计是使用findstr /n加行号后本身就有:所引起的。 [ Last edited by HUNRYBECKY on 2008-7-24 at 11:27 PM ] |
|
| 第12楼 HUNRYBECKY | 发表于 2008-07-24 23:11 |
| 银牌会员 发帖 442 积分 1,179 | |
|
more +2 input.txt>result.txt
兄弟的方法通不过,如果使用DEBUG加密的话输出的是空文本 |
|
| 第13楼 HAT | 发表于 2008-07-25 12:09 |
| 版主 发帖 5,017 积分 9,023 | |
|
凑热闹
sed.exe http://upload.cn-dos.net/img/561.zip |
|
| 第14楼 yishanju | 发表于 2008-07-25 12:50 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
sed 处理文本很好玩,我昨天刚学的SED 然后就把一千多个文本给处理出来了
我装的gnu sed 4.1.5 |
|
| 第15楼 HUNRYBECKY | 发表于 2008-07-30 08:38 |
| 银牌会员 发帖 442 积分 1,179 | |
|
SEd 是个好工具。简单方便。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |