Board logo

标题: [文本处理] 【已解决】合并多个BAT代码 [打印本页]

作者: 思想之翼    时间: 2014-8-20 16:58     标题: 【已解决】合并多个BAT代码

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

@echo off
pushd "d:\文本\文本1\001\lishi\"
(for %%a in (wj循环*.txt) do (
    if not "%%~za" == "0" (
        type "%%a"
    ) else echo,
))>$
move $ "d:\文本\文件夹1\001.txt"
exit

@echo off
pushd "d:\文本\文本1\002\lishi\"
(for %%a in (wj循环*.txt) do (
    if not "%%~za" == "0" (
        type "%%a"
    ) else echo,
))>$
move $ "d:\文本\文件夹1\002.txt"
exit

......

@echo off
pushd "d:\文本\文本1\210\lishi\"
(for %%a in (wj循环*.txt) do (
    if not "%%~za" == "0" (
        type "%%a"
    ) else echo,
))>$
move $ "d:\文本\文件夹1\210.txt"
exit

合并上述210个BAT代码为:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%x in (1001,1,1210) do (
  4.     set y=%%x
  5. pushd "d:\文本\文本1\!y:~1!\lishi\"
  6. (for %%a in (wj循环*.txt) do (
  7.     if not "%%~za" == "0" (
  8.         type "%%a"
  9.     ) else echo,
  10. ))>$
  11. move $ "d:\文本\文件夹1\!y:~1!.txt"
  12. exit
复制代码
合并后的代码出错了,不知道错在哪里,望帮助查勘!
作者: DAIC    时间: 2014-8-20 17:07

是不是忘记了 setlocal enabledelayedexpansion
作者: 思想之翼    时间: 2014-8-20 17:24

本帖最后由 思想之翼 于 2014-8-20 17:42 编辑

回复 2# DAIC


    setlocal enabledelayedexpansion
找到错哪里了。少一个括号。

@echo off&setlocal enabledelayedexpansion
for /l %%x in (1001,1,1210) do (
    set y=%%x
pushd "d:\文本\文本1\!y:~1!\lishi\"
(for %%a in (wj循环*.txt) do (
    if not "%%~za" == "0" (
        type "%%a"
    ) else echo,
))>$
move $ "d:\文本\文件夹1\!y:~1!.txt"
)
exit
作者: DAIC    时间: 2014-8-20 17:51

回复 3# 思想之翼


    报错信息发出来看看
作者: 523066680    时间: 2014-8-20 17:58

回复 1# 思想之翼


    头像是谁?
作者: CrLf    时间: 2014-8-20 18:17

回复 5# 523066680


    好奇搜了一下,亮瞎了我的钛合金狗眼...




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