Board logo

标题: [文本处理] 【已解决】批处理怎样输出文本生成新的bat文件? [打印本页]

作者: chouxia    时间: 2015-6-6 17:59     标题: 【已解决】批处理怎样输出文本生成新的bat文件?

本帖最后由 chouxia 于 2015-10-23 17:01 编辑

想把批处理搞成多线程运行的。又不喜欢将一个批处理拆分开。
想法是让主批处理去生成附属的批处理,然后start运行。运行完毕后删除附属的bat文件。
所以想请教下,除了echo .....>>aa.bat这样的方式以外还有什么方式可以用来写文本文件?
这些转义符搞的我发疯。
而且搞完以后的代码阅读性超差
作者: bailong360    时间: 2015-6-6 18:46

一般都是这样的
  1. @echo off
  2. echo 123
  3. more +3 %0 >new.bat
  4. new.bat代码
复制代码

作者: chouxia    时间: 2015-7-2 10:02

一般都是这样的
bailong360 发表于 2015-6-6 18:46



能解释下
more +3 %0 >new.bat
的功能吗?
作者: chouxia    时间: 2015-7-2 16:03

这个功能大概我了解了
但是还有一个问题。
输出到new.bat的代码在主bat上如何不执行?
举例讲:
@echo off
echo 123
more +3 %0 >new.bat
echo 333
这样,主bat的回显有123和333
new.bat的内容是
echo 333
在new.bat内如何取消echo?
作者: pcl_test    时间: 2015-7-2 16:29

本帖最后由 pcl_test 于 2015-7-2 16:31 编辑

回复 4# chouxia
  1. @echo off
  2. echo 123
  3. more +4 %0 >new.bat
  4. ping -n 2 0 >nul&exit /b
  5. echo 333
复制代码

作者: chouxia    时间: 2015-7-3 14:10

回复  chouxia
pcl_test 发表于 2015-7-2 16:29



    ping -n 2 0 >nul&exit /b
ping还是被执行了吧
这个不行啊
如果是fr或者del之类的命令就麻烦了
作者: pcl_test    时间: 2015-7-3 14:43

本帖最后由 pcl_test 于 2015-7-3 14:44 编辑

回复 6# chouxia
逗,ping是让你直观看到之后输出后直接退出没有执行后面的echo命令,去掉保留exit亦然,至于说什么执行del,这取决你写在哪里,与ping何干,然你还没弄懂怎么运行的
作者: DAIC    时间: 2015-7-3 14:53

回复 6# chouxia


@echo off
echo 123
more +4 %0 >new.bat
goto :eof
echo 333
作者: chouxia    时间: 2015-10-23 17:00

思路很有意思,感谢
作者: 依山居    时间: 2015-10-23 17:18

我想到了一个方法。

循环运行自身,设置变量,不同变量执行不同的代码段。这样即能达到多线程,也不生成多个文件。
作者: 依山居    时间: 2015-10-23 17:23

严格讲,应该都是多进程。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2