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

[文本处理] 【已解决】批处理如何将多个BAT合而为一?

有如下若干BAT代码,如何将其合而为一?恳望得到大家的帮助。

@echo off
for /f "skip=10 delims=" %%i in ('dir /b /a-d /o-n /s "C:\001\lishi\*.txt"') do (
    copy "%%i" "C:\数据\01\1.txt"
    goto :eof
)

@echo off
for /f "skip=10 delims=" %%i in ('dir /b /a-d /o-n /s "C:\002\lishi\*.txt"') do (
    copy "%%i" "C:\数据\02\1.txt"
    goto :eof
)

@echo off
for /f "skip=10 delims=" %%i in ('dir /b /a-d /o-n /s "C:\003\lishi\*.txt"') do (
    copy "%%i" "C:\数据\03\1.txt"
    goto :eof
)

......
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. set n=10000
  3. :loop
  4. set/a n+=1
  5. for /f "skip=10 delims=" %%i in ('dir /b /a-d /o-n /s "c:\%n:~-3%\lishi\*.txt" 2^>nul') do (
  6.     echo copy "%%i" "C:\数据\%n:~-2%\1.txt"
  7.     goto :loop
  8. )
  9. pause
复制代码
看看对不对,正确删除第六行echo.
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

删掉  goto :eof
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%i in (C:\*) do (
  4.     if exist %%i\lishi\ (
  5.         set folderSrc=%%i
  6.         set folderDst=!folderSrc:~-2!
  7.         echo call :Copy_File "%%i" !folderDst!
  8.     )
  9. )
  10. goto :eof
  11. :Copy_File
  12. for /f "skip=10 delims=" %%j in ('dir /b /a-d /o-n /s "%~1\lishi\*.txt"') do (
  13.     echo copy "%%j" "C:\数据\%2\1.txt"
  14.     goto :eof
  15. )
复制代码

TOP

本帖最后由 思想之翼 于 2014-2-5 19:32 编辑

回复 4# DAIC
您的上述代码不能提取数据。烦请看看为什么,好吗?
恳望再次得到您的帮助!

TOP

回复 2# xxpinqz
您的代码显示拷贝路径正确,但不能拷贝数据。
另:删除第六行echo  也未能拷贝。
恳望再次得到您的帮助!

TOP

回复 6# 思想之翼
第六行改为echo f|xcopy "%%i" "C:\数据\%n:~-2%\1.txt"
试试看
有问题把错误提示写出来,正确的就别贴了
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 7# xxpinqz
依然导不出数据。没有任何提示。

TOP

回复 5# 思想之翼
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%i in (C:\*) do (
  4.     if exist %%i\lishi\ (
  5.         set folderSrc=%%i
  6.         set folderDst=!folderSrc:~-2!
  7.         call :Copy_File "%%i" !folderDst!
  8.     )
  9. )
  10. goto :eof
  11. :Copy_File
  12. for /f "skip=10 delims=" %%j in ('dir /b /a-d /o-n /s "%~1\lishi\*.txt"') do (
  13.     copy "%%j" "C:\数据\%2\1.txt"
  14.     goto :eof
  15. )
复制代码
1

评分人数

TOP

自测了下,好像没问题嘛~~,
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

本帖最后由 思想之翼 于 2014-3-6 16:39 编辑

回复 9# DAIC
感谢您给予的大力帮助!

TOP

返回列表