عدم Rename شدن نام اتوران

با سلام
دوستان می خواستم ببینم اتورانی که با mmb ساختیم را میشه کدی ، پلاگینی و ... براش تعریف کرد طوری که پس از تبدیل شدن به فایل اگزه نشه اونو Rename کرد .
 
با سلام .

شما بهتر هست اول هدف اصلی خودتون رو بیان کنید .

اینجوری شاید راه ساده تری هم باشه .

اینکه نشه Rename کردش بعد از کامپایل ربطی به MMB نداره بلکه به ویندوز و سیستم عامل بستگی داره .

در کل شما هدف کلی رو بگید بهتر میشه کمکتون کرد .

با تشکر
 

Afsoft

Member
با سلام.
بلی میشه!
منم با نظرر دوستمون مبنی بر مشخص شدن هدف اصلی موافقم.
اما در جواب این سوال میتونم بگم که
میتوانید نام فایل را با دستور ExistFile با یه متغیر مشخص فراخوانی کرده و در صورت درستی شرط مورد نظر برنامه ادامه یابد.
 
ببینید بنده از دستور FileExist استفده کردم برای اینکه بعد از نصب شدن یک سری فایل اتوران اجرا بشه .
یکی از این فایل ها تبلیغات را به نمایش می گذاره و با با لا اومدن ویندوز شروع به فعالیت می کنه حالا اگه کسی اونو Rename کنه دیگه با بالا اومدن ویندوز کار نمیکنه برای همین می خواستم Rename نشه در ضمن این فایل با mmb ساخته شده .
با تشکر
 

Little-Demon

Well-Known Member
خوب داخل خود کدها مگه شما چک نمی کنید؟ پس دیگه مشکلی نیست ....یکی موقعی که جواب بله باشه و یکی خیر که داخل خیر میتونید دوباره فایل رو ایجاد کنید .

البته فکر کنم حتی کد های file exist شما هم وابسته به اون فایل ها ست درسته ؟ اگه نه که مشکل حله فکر کنم...البته من درست متوجه منظورتون نشدم از این جمله های اخر ولی فکر کنم چیز خاصی نباشه .
 

gholonbeh

Member
به مجتبي جون چطوري داداش ؟
از اين ورا خوش اومدي
آقا من يه جورايي فهميدم مشكل اين بنده خدا چيه
اين بنده خدا يه آدرس داده كه اون آدرس بايد ران بشه و حالا اگه اسم فايل عوض بشه در نتيجه آدرس هم به هم مي ريزه
حالا چه جوري مي تونه از اون تغيير اسم جلوگيري كنه كه در نتيجه ادرسشم درست باشه و فايلش ران بشه
فعلا يا حق
 

silvercover

کاربر متخصص
تنها راهی که نشه با امکانات موجود نام فایل رو تغییر نداد اجرا کردن اون هست. یعنی اینکه در حافظه باشه تا سیستم نتونه تغییر نامش بده که باز هم میشه با ترفند هایی این کار رو کرد.

یه راه دیگش هم که نیاز با دانش پیشرفته تری داره استفاده از Group Policy ویندوز به منظور جلوگیری از تغییر نام دادن فایل ها هست. میشه این کار رو از طریق ابزارهای خط فرمانی ( مشابه داس) انجام داد.

ولی در محیط های شبکه و سیستم های ادارات و شرکت ها که تحت Active Directory و تنظیمات شبکه ای خاص اجرا میشن مشکلاتی پیش خواهد اومد.

به هر ترتیب باید پیش بینی های لازم رو انجام بدین.
 

Little-Demon

Well-Known Member
تغییر دادن premission های کاربر هم اصلا کار درستی نیست و غیر معقول هست یکم....پس نتیجه میگیریم که ===> بیخیال بشید:D
 

Saman

مدیر انجمن مولتی مدیا بیلدر
سلام
تا جایی که من متوجه شدم.با استفاده از دستورات Dos یاهمونcmd که حامدگفته قابل انجام هستش.
باید یه مقدار وقت بذارم روش ، سعی میکنم تا فردا یک مثال بزارم واست...
قولی نمیدم ولی سعی میکنم...امکان داره انجام نشه...فعلا در حد یه تئوری هستش...

تا بعد...!
 
silvercover جان
فکر کنم مثل اون پلاگینی که برای فولدرها ساختید یک پلاگینی هم وجود داشته باشه که فایلها را Rename کنه . سپس از دستور FileExist و If استفاده می کنیم تا اگه فایل Rename شد به نام دلخواه ما برگرده .
با تشکر
 

silvercover

کاربر متخصص
خب این روش در صورتی امکان پذیر هست که شما دو تا فایل اجرایی داشته باشین که مدام همدیگر رو پایش کنن. که اگر یکی تغییر کرد تغییر نامش بده. در حالتی که شما یک فایل اجرایی ( Exe) داشته باشید این کار باید به وسیله راه های قبلی که گفته شد انجام بشه.

گذشته از اون وقتی یک فایل اجرایی داشته باشیم و بخایم خودش رو در حالی که اجرا شده تغییر نام بدیم با پیام خطا مواجه میشیم.
 

Afsoft

Member
با سلامی مجدد.
در جواب سوال شما، در ادامه بحث باید بگم که نیازی به پیچیدگی خاصی جهت انجام این کار نیست.
شما می توانید با استفاده از همان دستوری که بالا به آن اشاره کردم، با استفاده از یک لیست فایلی که قرار است در پروژه بکارگیری شوند، می توان با دستورات تغییر دهنده نام فایل ها، قبل از اجرای کامل برنامه، فایل ها را به حالت اولیه تغییر نام دهد.

و حتی اگر خود برنامه نیز تغییر نام یافته، با اجرای یک بچ فایل ( bat ) و اجرای آن بعد از خروج برنامه، نام خود برنامه را نیز تغییر دهید و دوباره آنرا اجرا کنید.

اجرای فایل برنامه > چک نمودن لیست فایل های مورد نیاز برنامه ( تحت عنوان لودینگ : برای مثال ) و سپس بعد از اطمینان از صحت لیست فایل های مورد نیاز، اجرای برنامه.
 

silvercover

کاربر متخصص
بله جناب Afsoft ، راه حل شما تا حدودی جوابگو هست. توجه کنید که اگر یک فایل اگزه اتوران باشه و توی رجیستری ست شده باشه که اون فایل با نام اصلیش اجرا بشه موقع استارت اپ و به نوعی هم تغییر نام داده شده باشه دیگه در دفعه بعد اجرای ویندوز چون تغییر نام یافته اجرا نخواهد شد که بتونه چیزی رو چک کنه و یا اجرا کنه ( از جمله فایل bat)و...
 

Saman

مدیر انجمن مولتی مدیا بیلدر
سلام
من یک مثال درست کردم که خودشو چک می کنه و بعد اگه = اسمی نباشه که قبلا تعریف کردیم خودشو تغییر نام میده.
از نظر من بهتربن راه حل راه حل حامد ، به دلیلی که در بالا به اون اشاره کرده.

دانلود مثال با حجم 326 کیلوبایت

تا بعد...!
 
SaMan جان به نظر می رسه فایل درست Rar شده و هنگام Extract کردن ارور می ده اگه میشه یکی دیگه قرار بدید .
با تشکر
 

Saman

مدیر انجمن مولتی مدیا بیلدر
سلام
من در اولین فرصت فایل رو دوباره آپ می کنم... شرمنده
الان به سیستمم دسترسی ندارم...

تا بعد...!
 

Afsoft

Member
تغییر نام خودکار فایل برنامه ( Keep Orginal filename)

[[COLOR="Silver"]QUOTE=masihkarimi;566565]Afsoft جان میشه یک مثال بزنی ؟[/QUOTE[/COLOR]]


با عرض پوزش برای تأخیر در جواب پست...

بله جناب سیلور، فرمایش شما صحیح می باشد؛ لذا حدس من از سوال این است که !در هر صورتی! اگر فایل تغییر نام یافت، راه حلی برای بازگرداندن نام اصلی آن باشد یا اینکه خود برنامه قبل از اجرا، نام خود را تغییر دهد!

این هم فایلی نمونه که خواسته بودید!

( توجه : این فایل برای اجرا باید بصورت کامپایل شده باشد. )

با استفاده از دستورات ساده Dos و استفاده از بچ فایل...

حجم فایل پیوست شده : 23.8 کیلوبایت
 

پیوست ها

  • Renamer.zip
    23.9 کیلوبایت · بازدیدها: 13

جدیدترین ارسال ها

بالا