[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. (for /f "tokens=1* delims=:" %%a in ('findstr /n .* 2.txt') do if %%a leq 3 echo %%b
  2. type 2.txt
  3. more +3 1.txt)>tmp.txt
  4. move tmp.txt 2.txt
复制代码

TOP

没有什么技术含量,如有不对请荐谅
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=0
  3. title 把特定文件插入特定文件指定行后 by 枫中残雪
  4. color 1a
  5. rem 与以前发的本质上没有什么区别,只不过没想到会是这样的结果,另外请看好要操作的文件
  6. rem 为了能更好的进行操作,本人并没有只提取行数。在显示出行数,你还可以与目标进行比对,看是否是自已想要的。
  7. echo.在操作之前请先阅读以下内容,可能会对你有些帮助。本人并不是专业人事如有错误,请荐谅。谢谢
  8. echo 1 ":"号前面的为行数
  9. echo 2 支持空行不会被删除,支持空行查找(此时不需要开启“用打印完全匹配的行”,但一定要输入一个空格,一个即可,多则无效)
  10. echo 3 行首为":"时可能不会被处理
  11. echo 4 "请输入标识的内容:"支持空格的输入(无论是否开启5,所以请看好再使用)
  12. echo 5 "请选择是否起用打印完全匹配的行",x(小写)为是,其它的都视为否
  13. echo 6 "在请指定要操作的行数"时,即使“不是想要的输入”在此"也许"也是有效的
  14. echo 7 本文并没有为退出而特别制做按键(得用第三方命令),想中途退出请点右上面的关闭
  15. set /p str=请选择是否起用打印完全匹配的行:
  16. if not "%str%" equ "x" (set "str="&&echo 您选择了不启用“用打印完全匹配的行”) else echo 您已成功开启“用打印完全匹配的行”。之后请进行下一步操作
  17. set /p a=请输入标识的内容:
  18. findstr /n%str%ic:"%a%" b.txt
  19. echo 从以上的观察应该找到其行数了吧!!!!
  20. set /p n=请指定要操作的行数:
  21. echo 正在操做中。请稍等……
  22. for /f "delims=" %%i in (b.txt) do (set /a c+=1   
  23.     if !c! equ %n% (echo.%%i>>输出文件.txt&&(for /f "delims=" %%a in (a.txt) do echo.%%a )>>输出文件.txt) else echo.%%i >>输出文件.txt
  24. )
  25. (for /l %%i in (0 10 800) do set /p=_%%i<nul&ping /n 127.1 >nul)&set /p=100%%<nul
  26. echo/
  27. pause
复制代码
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

变量的值传递

批处理是解释程序。它是解释一条执行一条。这和vbs的解释程序有点细微的差别。vbs需然也是解释程序,但是它要先差错,系统判断没错才开始解释执行,但批处理不预先差错。而是直接解释执行。
  要进行值的传递,首先要明白cmd的作用。cmd就是为批处理创建运行环境。所以要在批处理里进行值的传递,那我们把几个bat程序放到同一个cmd环境里运行,利用环境变量就可以完成值的传递。bat是解释程序它是传值不传地此的。解释程序都是这样的。而且解释程序是不可以转为exe文件的,exe文件是编译文件,它们和bat是不同类的。如果说在网上看到把bat转为了exe,那实际上是先把bat文件改编为编译文件,在转为exe的(这句话不是我发明的,是微软的专家徐鸣讲的)。
  知道了bat的运行就是在cmd创建的环境里面运行这个道理后,要在不同的bat文件间进行值的传递就很简单了
用这样一句话就可以了:
  1. @echo off
  2. echo   1111111
  3. set  tt="hello world"
  4. cmd /k  d:\test.bat
复制代码
test.bat文件的类容如下:
  1. echo "这是外部文件"%tt%
复制代码
运行一下就知道了。cmd/k就是创建bat的运行环境。

[ 本帖最后由 myzam 于 2011-2-26 22:58 编辑 ]

TOP

返回列表