0

ساختن فایل گزارش از Batch File‌ها

 
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

ساختن فایل گزارش از Batch File‌ها

اگر از علاقه‌مندان به اسکریپت‌نویسی فایل‌های Batch باشید حتماً برای‌تان بسیار جالب خواهد بود که برنامه‌های‌تان فایل گزارشی (Log File) در رابطه با عملیات انجام شده و با تاریخ جاری ایجاد کنند. در این ترفند به آموزش چنین کاری می‌پردازیم پس با ما همراه باشید.

 

برای این کار لازم است که ابتدا فایل Batch مورد نظر خود را با نرم‌افزارهایی نظیر Notepad باز کنید.
سپس (ترفندستان) کد زیر را در ابتدای Batch File خود قرار دهید:
Set MM=%date:~4,2%
Set DD=%date:~7,2%
Set YYYY=%date:~-4%

این کار به منظور تعریف 3 متغیر MM، DD و YYYY به عنوان تاریخ جاری خواهد بود.
اگر فرضاً نام فایل گزارش دلخواه شما را TarfandestanLog-[Date].txt در نظر بگیریم، پس از خطوط بالا کد زیر را می‌نویسم تا فایل گزارش ساخته شود:
echo Tarfandestan Program Log File (%YYYY%-%MM%-%DD%) > TarfandestanLog-[%YYYY%-%MM%-%DD%].txt
echo. >> TarfandestanLog-[%YYYY%-%MM%-%DD%].txt
حالا در هر قسمت از اسکریپت خود که قصد اضافه کردن اطلاعاتی به فایل گزارش دارید، از الگوی زیر استفاده نمایید:
echo Message >> TarfandestanLog-[%YYYY%-%MM%-%DD%].txt
واضح است که به جای Message ، پیغام مدنظر خود را باید جایگزین کنید.

به عنوان مثال شما اسکریپت ساده‌ای برای پاک کردن فایلی با عنوان Tarfandestan.exe که در ریشه‌ی درایو C قرار دارد، به این صورت نوشته‌اید:
@echo off
REM WWW.TARFANDESTAN.COM
attrib -s -h -r C:\Tarfandestan.exe
del /f /q C:\Tarfandestan.exe
pause
exit
برای این که این اسکریپت (ترفندستان) پاک شدن فایل مدنظر را بررسی کند و در کنار خود فایل گزارشی ایجاد نماید، کد بالا را به این صورت تغییر می‌دهیم:
@echo off
REM WWW.TARFANDESTAN.COM

Set MM=%date:~4,2%
Set DD=%date:~7,2%
Set YYYY=%date:~-4%
echo Tarfandestan Program Log File (%YYYY%-%MM%-%DD%) > TarfandestanLog-[%YYYY%-%MM%-%DD%].txt
echo. >> TarfandestanLog-[%YYYY%-%MM%-%DD%].txt

attrib -s -h -r C:\Tarfandestan.exe
del /f /q C:\Tarfandestan.exe
if not exist C:\Tarfandestan.exe goto success
goto error
:success
echo Tarfandestan.exe deleted successfully! >> TarfandestanLog-[%YYYY%-%MM%-%DD%].txt
pause
exit
:error
echo Deleting process failed! >> TarfandestanLog-[%YYYY%-%MM%-%DD%].txt
pause
exit
پس از فرایند پاک‌سازی، در صورتی که فایل مربوطه هنوز موجود باشد پیغام Deleting process failed و در صورت عدم وجود فایل، پیغام Tarfandestan.exe deleted successfully در فایل گزارش درج خواهد شد.
لازم به ذکر است فایل گزارش تنها یک مثال بود و شما با کمی خلاقیت می‌توانید استفاده‌های متفاوتی از این ترفند کنید.

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

جمعه 9 اسفند 1392  11:51 AM
تشکرات از این پست
دسترسی سریع به انجمن ها