标题: [文本处理] 如何用批处理将自身的X行到Y行复制新建成另一个批处理 [打印本页]
作者: 447219071 时间: 2014-6-23 12:43 标题: 如何用批处理将自身的X行到Y行复制新建成另一个批处理
如题,将批处理本身的第X行到第Y行之间的代码新建成C盘根目录下的run.bat并设置成系统文件和只能读取的属性
作者: 522235677 时间: 2014-6-23 13:14
- @echo off & setlocal enabledelayedexpansion
- goto run
- 111111111111111111111
- 222222222222222222222
- 333333333333333333333
- 444444444444444444444
- 555555555555555555555
- 666666666666666666666
- :run
- (for /f "delims=" %%a in ('more +2 %~s0') do (
- set /a n+=1
- echo %%a
- if "!n!"=="6" goto end
- ))>c:\run.bat
- :end
- attrib +r +s c:\run.bat
- pause
复制代码
作者: chensjiu 时间: 2014-6-23 13:17
1.在第x行到第第y行开头添加"echo ",尾部添加">>c:\run.bat"(其中第x行尾部为">c:\run.bat",不要引号),注意这些行中如果包含特殊符号必须做一些修改,如%要改为%%,|要改为^|,&要改为^&等等
2.再在第y行后添加一行内容:attrib +r +s c:\run.bat
作者: 522235677 时间: 2014-6-23 13:22
本帖最后由 522235677 于 2014-6-23 13:23 编辑
- @echo off
- (for /f "delims=" %%a in ('more +5 %~s0') do (echo %%a))>c:\run.bat
- attrib +r +s c:\run.bat
- pause
- exit
- 111111111111111111111
- 222222222222222222222
- 333333333333333333333
- 444444444444444444444
- 555555555555555555555
- 666666666666666666666
复制代码
新代码放最后,不需要考虑里面是否包含特殊符号。2楼也一样
作者: 447219071 时间: 2014-6-24 08:38
谢谢,按各位的想法已解决了
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |