Board logo

标题: 文件夹下面的所有子文件夹里的文件复制到新的文件夹下 [打印本页]

作者: mfdcxnf     时间: 2008-3-9 15:34    标题: 文件夹下面的所有子文件夹里的文件复制到新的文件夹下

如何用批处理实现将一个文件夹下面的所有子文件夹下面的文件复制到一个新的文件夹下面!
作者: suntb     时间: 2008-3-9 18:41
xcopy *.*  新文件夹 /e
作者: mfdcxnf     时间: 2008-3-10 19:07
首先谢谢你,不过你理解错误了,你这样的话,文件夹也一起复制了,我要的只是文件,文件夹不要。
作者: plp626     时间: 2008-3-10 19:22
http://www.cn-dos.net/forum/view ... =%E6%8F%90%E5%8F%96
作者: huahua0919     时间: 2008-3-10 19:24

@echo off
md hehe
for /f "delims=" %%i in ('dir /s/b e:\办公学习\*.*') do (
copy %%i hehe
)
但是怕你不同文件夹下面有重名的文件!
以上代码没有考虑出现这种事情的可能性!
作者: abcd     时间: 2008-3-10 19:39

@echo off
set source=a
set destination=b
for /r "%source%\" %%i in (*) do (
  xcopy "%%i" "%destination%\" /y/i
)
pause

作者: plp626     时间: 2008-3-10 20:36
新人和我们一样懒

这是那个链接网页的内容,不会把同名文件覆盖:

  Quote:
将D:\music1\ D:\music2\ D:\music3\目录的*.mp3文件要移动到U盘(G:\music)下:(若是拷贝将move直接换为copy)
CODE:  [Copy to clipboard]
--------------------------------------------------------------------------------

@echo off&setlocal enabledelayedexpansion
set "file=music1\*.mp3 music2\*.mp3 music3\*.mp3"
set "drive=D:\"
set "U=G:\music\"
for /r "%drive%" %%a in (%file%) do (
   if exist "!U!%%~nxa" call :re "%%~na" "%%~xa"
   move "%%a" "!U!%%~na!n!%%~xa"
)
goto :eof
:re
set "n=1"
:loop
if exist "!U!%~1_%n%%~2" set/a n+=1&goto loop
set "n=_%n%"&goto :eof
将D:盘内的所有(包括子目录内的)mp3文件copy到...
CODE:  [Copy to clipboard]
--------------------------------------------------------------------------------

@echo off&setlocal enabledelayedexpansion
set "file=*.mp3"
set "drive=D:\"
set "U=G:\music\"
for /r "%drive%" %%a in (%file%) do (
   if exist "!U!%%~nxa" call :re "%%~na" "%%~xa"
   move "%%a" "!U!%%~na!n!%%~xa"
)
goto :eof
:re
set "n=1"
:loop
if exist "!U!%~1_%n%%~2" set/a n+=1&goto loop
set "n=_%n%"&goto :eof
未测试.
若有疑问请到下面的帖子跟帖:

http://www.cn-dos.net/forum/view ... ge=1&highlight=


作者: mfdcxnf     时间: 2008-3-10 20:59
谢谢各位,学习了,其实也不是我懒,主要是我搜了好多次也没有找到。再次说声谢谢!