标题: [文件操作] 继续请教文件夹复制的BAT代码如何实现? [打印本页]
作者: image1001 时间: 2023-3-11 00:00 标题: 继续请教文件夹复制的BAT代码如何实现?
比如,D盘AAA目录下面有按序号从0001到0500命名的文件夹,如何指定将0100到0200的文件夹以及文件夹内的文件复制到E盘BBB目录下,这用BAT如何实现?非常感谢!
或者根据我预先整理好的list名单,这份名单中有0100,0101,0102.....0200文件夹名,那bat直接根据这份名单去将这些文件夹复制到新的目录 。
作者: terse 时间: 2023-3-11 03:35
- @echo off&setlocal enabledelayedexpansion
- for /l %%i in (10100,1,10200) do (
- set "str=%%i"
- set "f=!str:~1!"
- if exist "d:\aaa\!f!\" xcopy "d:\aaa\!f!" "e:\bbb\!f!" /y /i
- )
- pause
复制代码
作者: image1001 时间: 2023-3-11 15:40
还有点问题,我把BAT改成这样:- @echo off&setlocal enabledelayedexpansion
- for /l %%i in (10003,1,10006) do (
- set "str=%%i"
- set "f=!str:~1!"
- if exist "d:\aaa\!f!\" xcopy "d:\aaa\!f!" "e:\bbb\!f!" /y /i
- )
- pause
复制代码
AAA目录下有0001,0002,0003,0004,0005,0006,0007,0008这几个文件夹,我执行后,E盘BBB下面只有0003,0005,0006
0004没有复制过去,0004目录下我没有放任何文件,这就是空文件夹不会复制过去吗?不过这样也没多关系
另外,再请教下,如果我只复制0003,0005,0008这三个文件夹,这语句怎么写呢?
作者: Batcher 时间: 2023-3-11 16:54
回复 3# image1001 - @echo off
- for %%i in (0003 0005 0008) do (
- if exist "D:\AAA\%%i\" (
- xcopy /e /y "D:\AAA\%%i" "E:\BBB\%%i\"
- )
- )
复制代码
作者: image1001 时间: 2023-3-11 19:28
非常感谢!
作者: image1001 时间: 2023-3-13 16:05
回复 2# terse
再请教下,将这段代码加个动作,在复制之前先清空目标文件夹内的所有文件和文件夹,那要如何改呢?
作者: terse 时间: 2023-3-13 17:28
回复 6# image1001
代码第二行添加- rd /s /q "e:\bbb\"&md "e:\bbb\"
复制代码
作者: image1001 时间: 2023-3-14 14:41
非常感谢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |