Bat批處理把文件夾包括子文件夾下面的某個文件復制到另一個目錄下


原樣復制過來,notCopy這里表示不復制的目錄

@echo off

set "notCopy=目錄1,目錄2,目錄3"
set src=D:\Data
set dest=D:\Data2
cd /d %src%
for /f "tokens=*" %%i in ('dir /B %src%') do (
echo %notCopy%|findstr "%%i">nul||(echo %%~ai|findstr "d">nul && xcopy %%~fi\* %dest%\%%~ni\ /E /Y || xcopy %%~fi %dest%\ /S /Y)
)

-----&& ping 127.0.0.1 -n 3 > nul    或者  && timeout 3 > NUL(它適用於 Win 7,但不適用於 Win XP)  ---表示停頓3秒

 @echo off
set src=D:\PDData\8月測量數據\8-1白
set dest=D:\PDtest
cd /d %src% && for /r %%i in (*) do (
echo %%i|findstr ".xls .xlsx" && xcopy /d "%%~fi" %dest%\ /S /Y && ping 127.0.0.1 -n 3 > nul
)
net use W: /delete /Y
pause

 

把所有文件放到一個文件目錄下

@echo off
set src=D:\smt
set dest=D:\smt2
cd /d %src%
xcopy *.* %dest%\
for /f "tokens=*" %%i in ('dir /B %src%') do (
echo %notCopy%|findstr "%%i">nul||(echo %%~ai|findstr "d">nul && xcopy %%~fi %dest%\ /S /Y)
)

 

 

 

網絡路徑下的一個文件夾下的所有文件放到一個文件目錄下

@echo off
net use W: /delete
net use W: "\\192.186.1.1\Security\ADE" "P@ssw0rd" /user:"*.AD\ITteam" /persistent:yes
set src=W:\
set dest=D:\smt2
cd /d %src% && for /r %%i in (*) do (
echo %%i|findstr ".xls .xlsx" && xcopy "%%~fi" %dest%\ /S /Y
)
net use W: /delete /Y

 

 

 

網絡路徑下所有文件和文件夾原樣復制

@echo on
net use W: /delete
net use W: "\\*.201.20.1\Security\ADE" "ItP@ssw0rd" /user:"*.AD\ITteam" /persistent:yes
set src=W:\
set dest=D:\smt2


cd /d %src%
for /f "tokens=*" %%i in ('dir /B %src%') do (
echo %notCopy%|findstr "%%i">nul||(echo %%~ai|findstr "d">nul && xcopy %%~fi\* /d %dest%\%%~ni\ /E /Y || xcopy %%~fi /d %dest%\ /S /Y)
)

net use W: /delete /Y
pause


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM