求助一个批处理文件. 把一个目录下的所有文件包括子文件夹里的东西 复制到另一个制定的目录下.
如:把c:\123\下的所有东西包括子文件夹中的复制到d:\666\下;(复制后的文件目录结构是一样的)要求:只能用copy复制,不能用xcopy!!!不看题,乱黏贴的请...
如 : 把 c:\123\ 下的所有东西包括子文件夹中的 复制到 d:\666\ 下;(复制后的文件目录结构是一样的)
要求: 只能用 copy 复制, 不能用 xcopy!!!
不看题,乱黏贴的请绕行,谢谢合作. 展开
要求: 只能用 copy 复制, 不能用 xcopy!!!
不看题,乱黏贴的请绕行,谢谢合作. 展开
3个回答
展开全部
你好 按你的要求 我完成的代码如下~
@echo off
setlocal ENABLEDELAYEDEXPANSION
c: & cd\
for /f "delims=" %%j in ('dir "c:\123\" /w /b /ad /s') do (
set a=%%j
set a=!a:c:\123\=!
md d:\666\!a! 2>nul
)
for /f "delims=" %%i in ('dir "c:\123\" /w /b /a-d /s') do (
set a=%%i
set a=!a:c:\123\=!
copy "%%i" "d:\666\!a!" >nul 2>nul
)
希望我的回答对你有帮助 望采纳~
@echo off
setlocal ENABLEDELAYEDEXPANSION
c: & cd\
for /f "delims=" %%j in ('dir "c:\123\" /w /b /ad /s') do (
set a=%%j
set a=!a:c:\123\=!
md d:\666\!a! 2>nul
)
for /f "delims=" %%i in ('dir "c:\123\" /w /b /a-d /s') do (
set a=%%i
set a=!a:c:\123\=!
copy "%%i" "d:\666\!a!" >nul 2>nul
)
希望我的回答对你有帮助 望采纳~
追问
文件夹名带空格的复制后不全. 隐藏文件复制不到.
追答
@echo off
setlocal ENABLEDELAYEDEXPANSION
c: & cd\
for /f "delims=" %%j in ('dir "c:\123\" /w /b /ad /s') do (
set a=%%j
set a=!a:c:\123\=!
md "d:\666\!a!" 2>nul
)
for /f "delims=" %%i in ('dir "c:\123\" /w /b /a-d /s') do (
set a=%%i
set a=!a:c:\123\=!
copy "%%i" "d:\666\!a!" >nul 2>nul
)
for /f "delims=" %%i in ('dir "c:\123\" /w /b /ah-d /s') do (
attrib -h "%%i"
set a=%%i
set a=!a:c:\123\=!
copy "%%i" "d:\666\!a!" >nul 2>nul
attrib +h "%%i"
attrib +h "d:\666\!a!"
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能用 xcopy,为什么?
——————————
@ECHO OFF & setLocal enableDelayedExpansion
rem 设置路径
set SRCD=C:\123\
set TAGD=D:\666\
md "%TAGD%" 2>nul
copy "%SRCD%"\* "%TAGD%"\
echo.
for /f "tokens=* usebackq" %%i in (`dir "%SRCD%" /ad /b /s`) do (
set "CWD=%%~i"
set "TGD=!CWD:%SRCD%=%TAGD%!"
md "!TGD!" 2>nul
copy "!CWD!"\* "!TGD!"
echo.
)
echo.完成。&pause>nul
——————————
其实 o0小绒0o 回答得比我快。
——————————
@ECHO OFF & setLocal enableDelayedExpansion
rem 设置路径
set SRCD=C:\123\
set TAGD=D:\666\
md "%TAGD%" 2>nul
copy "%SRCD%"\* "%TAGD%"\
echo.
for /f "tokens=* usebackq" %%i in (`dir "%SRCD%" /ad /b /s`) do (
set "CWD=%%~i"
set "TGD=!CWD:%SRCD%=%TAGD%!"
md "!TGD!" 2>nul
copy "!CWD!"\* "!TGD!"
echo.
)
echo.完成。&pause>nul
——————————
其实 o0小绒0o 回答得比我快。
更多追问追答
追问
其他都ok哦.就是隐藏文件复制不到.
追答
那么你应该在问题里强调下有隐藏文件,因为隐藏文件不能用copy命令复制的。
如果非要那么做可以先用attrib -h去掉隐藏属性,拷贝完再加上。
这需要生成一个文件列表,做起来稍微麻烦点。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询