بانک سریال نامبر و کرک برنامه و نرم افزار های مختلف
درست کردن فایل گزارش از Batch File‌ها - نسخه قابل چاپ

+- بانک سریال نامبر و کرک برنامه و نرم افزار های مختلف (https://www.forum.svba.ir)
+-- انجمن: تفریحی و سرگرمی - مطالب جذاب و مفید (/forumdisplay.php?fid=22)
+--- انجمن: بخش کامپیوتر (/forumdisplay.php?fid=26)
+--- موضوع: درست کردن فایل گزارش از Batch File‌ها (/showthread.php?tid=175)



درست کردن فایل گزارش از Batch File‌ها - Nelson - 04-02-2014 21:10

اگر از علاقه‌مندان به اسکریپت‌نویسی فایل‌های 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 دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

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


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 در فایل گزارش درج خواهد شد.
لازم به ذکر است فایل گزارش تنها یک مثال بود و شما با کمی خلاقیت می‌توانید استفاده‌های متفاوتی از این ترفند کنید.