1.隨便簡單些寫了一下。直接粘結代碼,只是簡單的實現一下,還很多需要完善和擴展的地方,比如忽略掉后綴文件,刪除文件
如果排除的某些的話可以用:
sourceF.find('.后綴')>0
2.注意路徑格式。。
如果有中文路徑的話,可能報錯,我的解決方案:
編碼為utf8, #coding:utf-8
當前腳本是指定目錄下,所有的文件(包含子目錄),拷貝到一個目錄下。
源碼:text.py
#coding:utf-8
#2015.5.8
import os
import os.path
import shutil
RootDir = "D:/Work/美術資源/手游動畫" # Your root
TargetDir = "D:/Work/Code/project/cardgame/res/aninew" #Your target root
boss_dir = os.path.join(RootDir, "boss")
friend_dir = os.path.join(RootDir, "friend")
monster_dir = os.path.join(RootDir, "monster")
def copy_file(sourceDir, targetDir):
for f in os.listdir(sourceDir):
sourceF = os.path.join(sourceDir,f)
targetF = os.path.join(targetDir,f)
if os.path.isfile(sourceF):
do_copy_file(sourceF,targetF)
print sourceF
if os.path.isdir(sourceF):
copy_file(sourceF,TargetDir)
def do_copy_file(src_file, dst):
shutil.copy(src_file, dst)
if __name__=="__main__":
copy_file(boss_dir,TargetDir)
copy_file(friend_dir,TargetDir)
copy_file(monster_dir,TargetDir)
拷貝層級如果需要完全相同的話,需要創建文件夾,上面的代碼判斷是文件夾的時候,創建一下就可以.(os.mkdri(路徑))
再貼一個寫的測試bat
@echo off
echo startCopy
set rootDir="D:\PackerImg\CopyTest\from"
xcopy %rootDir% D:\PackerImg\CopyTest\To\ /s /y /D
pause
xcopy參數去網上自己查。xcopy拷貝文件目錄 copy拷貝單個文件。看個人需求