ほんじゃらねっと

ダイエット中プログラマのブログ

指定したフォルダ内のファイルのファイル名から特定のパターンの文字列を一括削除する

フォルダを指定してその中のファイルのファイル名の一部を削除するちょっとしたスクリプト。子フォルダの再帰処理はしない。
001_(hoge).txt、002_(fuga).txtなどのファイルを001_hoge.txt、002_fuga.txtに一括変換したい時なんかに使えるよう、正規表現でパターンを指定できるようにした。

使い方

python exclude_file_name.py フォルダパス 置換パターン
python exclude_file_name.py target_folder [¥(¥)]


exclude_file_name.py

!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import os.path
import re
root = sys.argv[1]
ex_pattern = sys.argv[2]
def main():
files = os.listdir(root)
for file_name in files:
new_file_name = re.sub(ex_pattern, "", file_name)
src = os.path.join(root, file_name)
dest = os.path.join(root, new_file_name)
print src + " => " + dest
os.rename(src, dest)
if __name__ == "__main__":
main()