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

[文件操作] [已解决]BAT如何批量复制文件到指定目录下面?

[复制链接]
发表于 2015-7-4 15:32:20 | 显示全部楼层 |阅读模式
本帖最后由 xxlaila 于 2015-7-21 13:53 编辑

我D:\盘有a.test.com.rar,b.test.com.rar,c.test.com.rar,d.test.com.rar。我用
  1. @echo off
  2. echo.
  3. echo.=====================================================================
  4. Setlocal Enabledelayedexpansion
  5. set FolderName=D:\FTP
  6. for /f "delims=" %%a in ('dir /b /a-d /oN "%FolderName%\*.*"') do (
  7. set d=%%a
  8. set c=!d:~0,-4!
  9. echo !c!
  10. )
  11. echo.
复制代码
文件显示出来了,
怎么把a.test.com.rar复制到D:\WEB\a.test.com\RAR
怎么把b.test.com.rar复制到D:\WEB\b.test.com\RAR
发表于 2015-7-4 17:49:17 | 显示全部楼层
@echo off
Setlocal Enabledelayedexpansion
    set FolderName=D:\FTP
    for /f "delims=" %%a in ('dir /b /a-d /oN "%FolderName%\*.*"') do (
    set d=%%a
    set c=!d:~0,-4!
    echo !c!
    copy /y "%FolderName%\!c!" "D:\WEB\!c!\RAR\"
)
 楼主| 发表于 2015-7-4 17:57:10 | 显示全部楼层
回复 2# DAIC

不能进行复制,目录下面是多个文件,不是一个
 楼主| 发表于 2015-7-4 18:00:42 | 显示全部楼层
回复  DAIC

不能进行复制,目录下面是多个文件,不是一个
xxlaila 发表于 2015-7-4 17:57



    可以了! 我输出了日志,看到了,不好意思,少添加一个.rar
谢谢啊
 楼主| 发表于 2015-7-6 09:20:26 | 显示全部楼层
@echo off
echo.
echo.=====================================================================
Setlocal Enabledelayedexpansion
set FolderName=D:\FTP
set PathName=d:\WwwRoot
for /f "delims=" %%a in ('dir /b /a-d /oN "%FolderName%\*.*"') do (
set d=%%a
set c=!d:~0,-4!
echo !c!
xcopy /y "%FolderName%\!c!.rar" "D:\WwwRoot\!c!\News\"
)
怎么能实现 复制的a.tet.com.rar 就启动a.bat  如果是b.test.com.rar  就启动b.bat   两个都复制了  a.bat和b.bat 都启动
发表于 2015-7-6 09:21:34 | 显示全部楼层
  1. @echo off
  2. echo.
  3. echo.=====================================================================
  4. Setlocal Enabledelayedexpansion
  5. set FolderName=D:\FTP
  6. set PathName=d:\WwwRoot
  7. for /f "delims=" %%a in ('dir /b /a-d /oN "%FolderName%\*.*"') do (
  8.     set d=%%a
  9.     set c=!d:~0,-4!
  10.     echo !c!
  11.     xcopy /y "%FolderName%\!c!.rar" "D:\WwwRoot\!c!\News"
  12.     if "!c!" equ "a.test.com" (
  13.         start "" "a.bat"
  14.     ) else if "!c!" equ "b.test.com" (
  15.         start "" "b.bat"
  16.     )
  17. )
复制代码
发表于 2015-7-6 09:47:36 | 显示全部楼层
  1. @echo off
  2. echo.
  3. echo.=====================================================================
  4. Setlocal Enabledelayedexpansion
  5. set FolderName=D:\FTP
  6. set PathName=d:\WwwRoot
  7. for /f "delims=" %%a in ('dir /b /a-d /oN "%FolderName%\*.*"') do (
  8.     set d=%%a
  9.     set c=!d:~0,-4!
  10.     echo !c!
  11.     xcopy /y "%FolderName%\!c!.rar" "D:\WwwRoot\!c!\News"
  12.     if "!c!" equ "a.test.com" (
  13.         start "" "a.bat"
  14.     )
  15.     if "!c!" equ "b.test.com" (
  16.         start "" "b.bat"
  17.     )
  18. )
复制代码
 楼主| 发表于 2015-7-6 09:48:42 | 显示全部楼层
本帖最后由 xxlaila 于 2015-7-6 09:49 编辑

这个没能实现 复制的a.tet.com.rar 就启动a.bat  如果是b.test.com.rar  就启动b.bat   
如果a.tet.com.rar ,b.tet.com.rar ,c.tet.com.rar , 三个都复制了  a.bat和b.bat 、c.bat都启动,上面的那样写法只启动了b.bat 。其他都没有启动
发表于 2015-7-6 10:42:39 | 显示全部楼层
回复 8# xxlaila
  1. @echo off
  2. echo.
  3. echo.=====================================================================
  4. Setlocal Enabledelayedexpansion
  5. set FolderName=D:\FTP
  6. set PathName=d:\WwwRoot
  7. for /f "delims=" %%a in ('dir /b /a-d /oN "%FolderName%\*.*"') do (
  8.     set d=%%a
  9.     set c=!d:~0,-4!
  10.     echo !c!
  11.     xcopy /y "%FolderName%\!c!.rar" "D:\WwwRoot\!c!\News"
  12.     if "!c!" equ "a.test.com" (
  13.         start "" "a.bat"
  14.     )
  15.     if "!c!" equ "b.test.com" (
  16.         start "" "b.bat"
  17.     )
  18.     if "!c!" equ "c.test.com" (
  19.         start "" "c.bat"
  20.     )
  21. )
复制代码

评分

参与人数 1技术 +1 收起 理由
xxlaila + 1 谢谢

查看全部评分

 楼主| 发表于 2015-7-6 11:56:05 | 显示全部楼层
恩,可以了,谢谢,我在去生产环境测试测试 。3QY
 楼主| 发表于 2015-7-6 15:22:49 | 显示全部楼层
@echo off
echo.
echo.=====================================================================
Setlocal Enabledelayedexpansion
set FolderName=D:\FTP
set PathName=d:\WwwRoot
for /f "delims=" %%a in ('dir /b /a-d /oN "%FolderName%\*.*"') do (
    set d=%%a
    set c=!d:~0,-4!
    echo !c!
    xcopy /y "%FolderName%\!c!.rar" "D:\WwwRoot\!c!\News\"
    if "!c!" equ "a.test.com" (
        start "" "a.bat"  >d:\log\a.log
    )
    if "!c!" equ "b.test.com" (
        start "" "b.bat"  >d:\log\b.log
    )
    if "!c!" equ "c.test.com" (
        start "" "c.bat"  >d:\log\c.log
    )
)

这样子不能记录脚本没执行的日志,请问怎么解决这个问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 21:36 , Processed in 0.022027 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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