2017-06-02 6 views
-1

私のコンピュータのバックアップ/同期ファイルを外付けハードディスクに取り込みます。例えば同じファイルを含むディレクトリ構造に関してファイルを並べ替えるにはどうすればよいですか?

私は私が持っているこの (私は1000のディレクトリと10000個のファイルの周りに持って、与えられた以下のディレクトリ構造は、説明のみを目的としている)

folderA 
    -aa.jpg 
    -ab.mp3 
    -ac.mp4 

folderB 
    -ba.jpg 
    -bb.mp3 
    -bc.mp4 

と私のコンピュータのように私の外付けハードディスクにいくつかのファイルをソートフォルダ「TEMP」内の同じファイル

私は

を持って

aa.jpg, ab.mp3, ac.mp4, ba.jpg, bb.mp3, bc.mp4 

私は「一時」内のファイルは次のように配置することにしたいです

temp 

--folderA 
    -aa.jpg 
    -ab.mp3 
    -ac.mp4 

--folderB 
    -ba.jpg 
    -bb.mp3 
    -bc.mp4 

(1000の+ 10000個の+ディレクトリとファイルのために)私のためにこれを行うための任意のツール、またはスクリプトはありますか? Windowsの場合

答えて

0

は自分の「TEMP」とパスを交換、Pythonスクリプトの下に作成し、一時ディレクトリにコピーします:

import os 
import shutil 

if not os.path.exists('C:/Users/myuser/Desktop/day/folderA'): 
     os.makedirs('C:/Users/myuser/Desktop/day/folderA') 
if not os.path.exists('C:/Users/myuser/Desktop/day/folderB'): 
     os.makedirs('C:/Users/myuser/Desktop/day/folderB') 

sourcepath='C:/Users/myuser/Desktop/day' 
source = os.listdir(sourcepath) 
destinationpath = 'C:/Users/myuser/Desktop/day/folderA' 
destinationpath2 = 'C:/Users/myuser/Desktop/day/folderB' 
for files in source: 
if files.startswith('a'): 
    shutil.move(os.path.join(sourcepath,files), os.path.join(destinationpath,files)) 
if files.startswith('b'): 
    shutil.move(os.path.join(sourcepath,files), os.path.join(destinationpath2,files)) 

listA = os.listdir('C:/Users/myuser/Desktop/day/folderA') 
listA.sort() 
listB = os.listdir('C:/Users/myuser/Desktop/day/folderB') 
listB.sort() 
+0

私は1000の+ 10000件の+ディレクトリとファイルがあります。上記のディレクトリ構造は、例示目的のみのものです –

関連する問題