این اسکریپت ساده را بررسی کنید که می تواند زمان زیادی را برای تغییر نام فایل ها به صورت دستی صرفه جویی کند.
تغییر نام دسته ای یک روش موثر برای سازماندهی فایل های دیجیتال شما است. این می تواند به ویژه زمانی مفید باشد که فایل های شما فاقد نام فایل های توصیفی یا ثابت باشند.
شما می توانید یک اقدام تغییر نام دسته ای را با یک اسکریپت ساده پایتون خودکار کنید. یک الگو را به اسکریپت پایتون ارسال کنید و به آن اجازه دهید تا با استفاده از یک قرارداد نامگذاری ثابت، نام همه فایلهای یک پوشه را تغییر دهد.
هنگامی که اسکریپت پایتون آماده شد، می توانید آن را در خط فرمان اجرا کنید و نام همه فایل ها را در یک پوشه مشخص تغییر می دهد.
چگونه از طریق همه فایل ها در یک دایرکتوری حلقه بزنیم
راه های زیادی وجود دارد که می توانید به صورت دسته ای یک فایل را در ویندوز تغییر نام دهید، از جمله از طریق خط فرمان یا کاوشگر فایل ویندوز.
روش دیگری که می توانید نام فایل ها را تغییر دهید استفاده از اسکریپت پایتون است. اگر با پایتون آشنایی ندارید، راه هایی وجود دارد که می توانید نحوه نوشتن کدهای بهتر پایتون را یاد بگیرید.
برای تغییر نام همه فایلها در یک پوشه خاص، باید آن مجموعه از فایلها را حلقه بزنید. می توانید نمونه کامل را در این مخزن GitHub مشاهده کنید.
- یک پوشه جدید برای ذخیره فایل هایی که می خواهید تغییر نام دهید ایجاد کنید:
- یک فایل جدید به نام batch-rename.py ایجاد کنید.
- در بالای فایل، ماژول os را وارد کنید. این به شما امکان می دهد به فایل ها و فهرست های سیستم عامل خود دسترسی داشته باشید: import os
- دایرکتوری را که فایل ها را در آن ذخیره کرده اید تعریف کنید: dir_path = “C:\\Users\\Sharl\\Desktop\\files” همچنین می توانید به جای آن از یک مسیر نسبی استفاده کنید. به عنوان مثال، اگر اسکریپت و پوشه فایلهای شما در یک فهرست قرار دارند، مسیر فایل شما ممکن است چیزی شبیه به این باشد: dir_path = “files”
- یک متغیر شمارنده را راهاندازی کنید، که از آن برای اضافه کردن تعداد در انتهای نام فایل استفاده میکنید: counter = 1
- برای تکرار روی هر فایل در فهرست، یک حلقه for اضافه کنید: برای نام فایل در os.listdir(dir_path): print(“تغییر نام: ” + نام فایل + “…”)
- برای تست اسکریپت، آن را با استفاده از دستور پایتون در خط فرمان اجرا کنید. مطمئن شوید که به محل پوشه ای که اسکریپت خود را در آن ذخیره کرده اید بروید: cd Desktoppython batch-rename.py
import os
counter = 1
for filename in os.listdir(dir_path):
print("Renaming: " + filename + "...")
cd Desktop
python batch-rename.py
نحوه تغییر نام همه فایل ها بر اساس یک الگوی داده شده
کاربر باید یک الگو را در اسکریپت وارد کند، مانند “Financial_Planning”. اسکریپت نام همه فایل ها را به الگوی ارائه شده تغییر می دهد و یک تعداد در انتهای نام فایل اضافه می کند.
- در بالای فایل، ماژول sys را وارد کنید. import sys این به شما امکان می دهد آرگومان های خط فرمان را بپذیرید. هنگام اجرای اسکریپت در خط فرمان، می توانید الگویی را که می خواهید برای تغییر نام فایل های خود استفاده کنید، وارد کنید. python batch-rename.py “Planning_Financial”
- پس از دستورهای import، آرگومان خط فرمان را وارد کنید. اگر کاربر یکی را وارد نکرد، یک پیام خطا چاپ کنید: commandLineArgs = sys.argvif len(commandLineArgs) > 1: pattern = commandLineArgs[1] + “_{}”else: print(‘الگویی برای نام فایلهای جدید وارد کنید به عنوان آرگومان خط فرمان’) sys.exit()
- در داخل حلقه for، هنگام حلقه زدن هر فایل، پسوند فایل آن را دریافت کنید: file_ext = os.path.splitext(نام فایل)[1]
- یک نام فایل جدید بر اساس الگوی داده شده ایجاد کنید. یک تعداد در انتهای نام فایل اضافه کنید و پسوند فایل را دوباره اضافه کنید: new_filename = pattern.format(counter) + file_ext
- نام فایل را با نام فایل جدید تغییر دهید: oldFileName = os.path.join(dir_path, filename)newFileName = os.path.join(dir_path, new_filename)os.rename(oldFileName, newFileName)
- شمارنده را برای فایل بعدی افزایش دهید: شمارنده += 1
- پس از حلقه for، یک پیام تأیید را چاپ کنید: print (“همه فایل ها تغییر نام دادند.”)
- در یک خط فرمان، به پوشه ای که اسکریپت پایتون خود را در آن ذخیره کرده اید بروید. از دستور پایتون و به دنبال آن یک الگو برای تغییر نام فایل های خود استفاده کنید:
- فایل اکسپلورر را باز کنید و فایل های تغییر نام یافته را مشاهده کنید:
import sys
python batch-rename.py "Financial_Planning"
commandLineArgs = sys.argv
if len(commandLineArgs) > 1:
pattern = commandLineArgs[1] + "_{}"
else:
print('Enter a pattern for the new filenames as a command line argument')
sys.exit()
file_ext = os.path.splitext(filename)[1]
new_filename = pattern.format(counter) + file_ext
oldFileName = os.path.join(dir_path, filename)
newFileName = os.path.join(dir_path, new_filename)
os.rename(oldFileName, newFileName)
counter += 1
print("All files renamed.")
خودکارسازی وظایف ساده با استفاده از پایتون
اسکریپت پایتون یک روش بسیار مفید برای خودکارسازی کارهای ساده مانند تغییر نام چندین فایل به طور همزمان است. میتوانید راههای دیگری را برای تغییر نام دستهای فایلها در رایانه خود کاوش کنید.