[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何将第一个的内容写入第二个文本?

回复: Batcher
一个脚本很大,有600多K,因文本不能加密,想分段发送并运行.
客户端随时可见的内容如下:
echo ┌──────────────────┐
set /p input=1 启动 2 重 3 del 4 exit 5 go 6 to  │
echo │                  │
echo │                                    │
echo │                                    │
echo └──────────────────┘

//下面的只有向服务端请求"选择内容"才发送执行
在下面这里只显示:
选择内容←--识别代码--→插入的内容↓
                        if %input%==1 start ......
                        .......
                        if %input%==6 goto .....

goto XXXX
:pauses
...........
以下仍以同样的方法分割
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
文本1的内容:
aaaaa
adadasdasdasda
adsadsafsadfdsfgg
dsada
edwrdsfaf
fsafsafsa
dsdsaff
gghgfhgfh
dsadsa
dsadsad
fsafsafsaf
文本2的内容:
kkkkkkkkkkkkjjkjjkj
klklklklklkklk
mm2
::在这里插入文本1的全部内容并保持原格式不变
"aaaaa
.....
fsafsafsaf"
:: 文本2原来的内容
nnn3
kkjjjjjjjjj
.......

[ 本帖最后由 bat2012 于 2011-2-22 22:49 编辑 ]

不知道是不是你需要的。
注意添加下路径,不然就是当前路径
copy a.txt+b.txt ab.txt
copy c:\a.txt+c:\b.txt c:\ab.txt
a.txt指的是前一个
b.txt指的是后一个
合并后也按前后顺序排列
宝贵的光阴,总是像箭一样地飞逝着。

TOP

谢谢,你这个可能不行.
原意是将文本1的内容 插入文本的2的中间某段,也就是要求识别mm2

[ 本帖最后由 bat2012 于 2011-2-22 00:36 编辑 ]

TOP

回复 1楼 的帖子

  1. @echo off&setlocal enabledelayedexpansion
  2. set n=0
  3. for /f "delims=" %%i in (b.txt) do (set /a n+=1   
  4.     if !n! equ 3 (echo %%i>>输出文件.txt&&(for /f "delims=" %%a in (a.txt) do echo %%a )>>输出文件.txt) else echo %%i >>输出文件.txt
  5. )
  6. pause
复制代码
个人将你的1.txt保存为了a.txt
                    2.txt保存为了b.txt
有需要自已改一下吧
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

请问一下:如何识别 文本的2的中间某段,也就是要求识别mm2 ,然后
插入文本2的mm2与
nnn3
之间

TOP

回复 5楼 的帖子

看看这一句{if !n! equ 3} 这里的3就是MM2的所在行,换一句话说如果是4的话就是这样了
  1. kkkkkkkkkkkkjjkjjkj
  2. klklklklklkklk
  3. mm2
  4. nnn3
  5. aaaaa
  6. adadasdasdasda
  7. adsadsafsadfdsfgg
  8. dsada
  9. edwrdsfaf
  10. fsafsafsa
  11. dsdsaff
  12. gghgfhgfh
  13. dsadsa
  14. dsadsad
  15. fsafsafsaf
  16. kkjjjjjjjjj
复制代码
看见了么,变化就是nnn3在前面了
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

老大,不行,
输出文件.txt 里面的10多段a.txt文件

TOP

回复 7楼 的帖子

看来你是有些不明白啊。假如说你想把第100行的MM2放在1。TXT的前面,那么就是
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=0
  3. for /f "delims=" %%i in (b.txt) do (set /a n+=1   
  4.     if !n! equ 100 (echo %%i>>输出文件.txt&&(for /f "delims=" %%a in (a.txt) do echo %%a )>>输出文件.txt) else echo %%i >>输出文件.txt
  5. )
  6. pause
复制代码
同理如果是1000行的话,就是这样
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=0
  3. for /f "delims=" %%i in (b.txt) do (set /a n+=1   
  4.     if !n! equ 1000 (echo %%i>>输出文件.txt&&(for /f "delims=" %%a in (a.txt) do echo %%a )>>输出文件.txt) else echo %%i >>输出文件.txt
  5. )
  6. pause
复制代码
也就是说只要知道MM2的行数,并把if !n! equ 3中的3换成相应的行数即可了,你要再不明白的话,我也不行了
但注意一点,我没有排除空行,1。TXT和2。TXT都没有

[ 本帖最后由 wc726842270 于 2011-2-22 02:26 编辑 ]
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

请问:你是先识别b.txt的mm2 还是nnn3
假如mm2是文字 如:"我们是中国人",又怎么识别?

TOP

回复 9楼 的帖子

我是识别MM2的,也就是说是你所要擦入位置的前一行。
另外,我是说MM2的行数,并不是它的内容啊。这点我一直在说啊。
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

假如mm2是文字 如:"我们是中国人",又怎么识别?
还有就是 我将一个完整的 g.txt 分割成很多段,分别是1~n.txt,是否用同样的办法?

TOP

谢谢 太晚了 明天请教!

TOP

回复 10楼 的帖子

老大,你这个方案不行,按行数插入,在前10行,是正常,超过10行后面就是乱的,.能不能用另外的方案,就是直接识别前面列举的如:"MM2"或"我们是中国人"等.因为这个文本有600多K,可能上万行,根本不能用人工来数行数.

TOP

回复 11楼 的帖子

能否把所有的需求在顶楼一次性说清楚?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

老大们 没有答案吗?

TOP

返回列表