找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29539|回复: 10

[文本处理] 【已解决】批处理怎样输出文本生成新的bat文件?

[复制链接]
发表于 2015-6-6 17:59:01 | 显示全部楼层 |阅读模式
本帖最后由 chouxia 于 2015-10-23 17:01 编辑

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

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-6-6 18:46:40 | 显示全部楼层
一般都是这样的
  1. @echo off
  2. echo 123
  3. more +3 %0 >new.bat
  4. new.bat代码
复制代码

评分

参与人数 1技术 +1 收起 理由
chouxia + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-7-2 10:02:17 | 显示全部楼层
一般都是这样的
bailong360 发表于 2015-6-6 18:46



能解释下
more +3 %0 >new.bat
的功能吗?
 楼主| 发表于 2015-7-2 16:03:16 | 显示全部楼层
这个功能大概我了解了
但是还有一个问题。
输出到new.bat的代码在主bat上如何不执行?
举例讲:
@echo off
echo 123
more +3 %0 >new.bat
echo 333
这样,主bat的回显有123和333
new.bat的内容是
echo 333
在new.bat内如何取消echo?
发表于 2015-7-2 16:29:06 | 显示全部楼层
本帖最后由 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
复制代码
 楼主| 发表于 2015-7-3 14:10:50 | 显示全部楼层
回复  chouxia
pcl_test 发表于 2015-7-2 16:29



    ping -n 2 0 >nul&exit /b
ping还是被执行了吧
这个不行啊
如果是fr或者del之类的命令就麻烦了
发表于 2015-7-3 14:43:24 | 显示全部楼层
本帖最后由 pcl_test 于 2015-7-3 14:44 编辑

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


@echo off
echo 123
more +4 %0 >new.bat
goto :eof
echo 333
 楼主| 发表于 2015-10-23 17:00:54 | 显示全部楼层
思路很有意思,感谢
发表于 2015-10-23 17:18:49 | 显示全部楼层
我想到了一个方法。

循环运行自身,设置变量,不同变量执行不同的代码段。这样即能达到多线程,也不生成多个文件。
发表于 2015-10-23 17:23:46 | 显示全部楼层
严格讲,应该都是多进程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 12:49 , Processed in 0.020939 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表