フォルダに格納されているファイルを一個上の階層に移動させる

f:id:sakage24:20170809214434j:plain

たまにフォルダの中にフォルダがあるパターンがあったりしますよね。その都度中身を移動させればいいのですが、横着してそのまま保管場所に突っ込んだりしているとゴッチャゴチャになりますよね。

まあ、1, 2個なら手動で対応出来るんですが私の場合、おおよそ100個くらいそんな感じなので、こりゃあかんわwと思いとりあえずスクリプトを書きました。

ソースコード

Pythonちゃんならわずか17行で仕事完了ですよ。素晴らしい生産性…


import os
from shutil import move
from shutil import rmtree
all_files = os.listdir('.')
dirs = [x for x in all_files if os.path.isdir(x)]
print(dirs)
for d in dirs:
file_names = os.listdir(d)
for f in file_names:
try:
move(f"./{d}/{f}", ".")
except:
pass

使い方

お掃除したいディレクトリに上のコードを書いて.py形式で保存して下さい。python3をインストールして、実行します。

解説

  1. カレントディレクトリのファイルを全て拾う
  2. 1.の中からディレクトリだけを抽出する
  3. ディレクトリの中にあるファイルを配置したディレクトリに全部移動させる

終わり

たまにはこういう記事もいいですね。

コメントを残す

メールアドレスが公開されることはありません。