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

[文本处理] 【已解决】BAT:将多个bat代码合并,为何出错

本帖最后由 思想之翼 于 2014-10-17 14:21 编辑

@echo off&setlocal enabledelayedexpansion
set filenum=100   
    for /l %%a in (1,1,%filenum%) do (
        for /f "delims=" %%i in (D:\模版\模版1\模版1_001\lishi\%%a.txt) do (
            set /a n+=1
            for %%a in (!n!) do set "#%%a=!#%%a! %%i"
        )
        set /a m=n,n=0
    )
    (for /l %%a in (1,1,!m!) do echo,!#%%a:~1!)>D:\模版\数据(横并)1\001.txt
exit

@echo off&setlocal enabledelayedexpansion
set filenum=100   
    for /l %%a in (1,1,%filenum%) do (
        for /f "delims=" %%i in (D:\模版\模版1\模版1_002\lishi\%%a.txt) do (
            set /a n+=1
            for %%a in (!n!) do set "#%%a=!#%%a! %%i"
        )
        set /a m=n,n=0
    )
    (for /l %%a in (1,1,!m!) do echo,!#%%a:~1!)>D:\模版\数据(横并)1\002.txt
exit

......

@echo off&setlocal enabledelayedexpansion
set filenum=100   
    for /l %%a in (1,1,%filenum%) do (
        for /f "delims=" %%i in (D:\模版\模版1\模版1_100\lishi\%%a.txt) do (
            set /a n+=1
            for %%a in (!n!) do set "#%%a=!#%%a! %%i"
        )
        set /a m=n,n=0
    )
    (for /l %%a in (1,1,!m!) do echo,!#%%a:~1!)>D:\模版\数据(横并)1\100.txt
exit

将上述100个类似的代码,合并如下,代码不运行,为何?
  1. @echo off
  2. set filenum=100
  3. for /l %%x in (1001,1,1100) do (
  4.     set y=%%x
  5.     setlocal enabledelayedexpansion
  6.     for /l %%a in (1,1,%filenum%) do (
  7.         for /f "delims=" %%i in (D:\模版\模版1\模版1_!y:~1!\lishi\%%a.txt) do (
  8.             set /a n+=1
  9.             for %%a in (!n!) do set "#%%a=!#%%a! %%i"
  10.         )
  11.         set /a m=n,n=0
  12.     )
  13.     (for /l %%a in (1,1,!m!) do echo,!#%%a:~1!)>D:\模版\数据(横并)1\!y:~1!.txt
  14.     endlocal
  15. )
  16. exit
复制代码

回复 1# 思想之翼


   源代码本身报错,再加上合并也不是这样的的啊,处理的到exit直接退出了,哪还能继续运行??

TOP

回复 2# 小智BAT

单个代码完美正确解决问题。现在只需要将100个这样的代码合并。

TOP

本帖最后由 apang 于 2014-10-18 00:41 编辑

转义:
>D:\模版\数据^(横并^)1\!y:~1!.txt

或者用引号包围(其实也是转义):
>"D:\模版\数据(横并)1\!y:~1!.txt"
1

评分人数

TOP

回复  小智BAT

单个代码完美正确解决问题。现在只需要将100个这样的代码合并。
思想之翼 发表于 2014-10-17 08:47



    如果有txt文本行数不相等的情况,你再试试还完美不?

TOP

返回列表