فایل bat

quantom

Member
در یک فایل bat این دستور وجود دارد ren X1 M1 که فایل مشخص X1 را به M1 تغییر نام میدهد .حالا اگر بجای X1 هر فولدردیگری را بخواهیم از طریق BrowseForFolder در یک ادیت باکس انتخاب کنیم و این فولدر انتخاب شده بجای X1 قرار بگیرد باید چکار کنیم؟
 

the_king

مدیرکل انجمن
در یک فایل bat این دستور وجود دارد ren X1 M1 که فایل مشخص X1 را به M1 تغییر نام میدهد .حالا اگر بجای X1 هر فولدردیگری را بخواهیم از طریق BrowseForFolder در یک ادیت باکس انتخاب کنیم و این فولدر انتخاب شده بجای X1 قرار بگیرد باید چکار کنیم؟

یا فایل Bat رو بعد از اجرای BrowseForFolder بر اساس نام اون X1 بسازید و ذخیره کنید و بعد اجرا کنید یا موقعی که
می خواهید فایل Bat را اجرا کنید، نام X1 را در ادامه سطر فرمان به عنوان پارامتر به فایل Bat بفرستید،
مثلا اگر نام فایل Bat برابر test.bat باشد و نام فایل X1 برابر myfile.txt باشد، با فرمان زیر فایل bat را اجرا کنید :
کد:
test.bat myfile.txt

اکنون در داخل فایل bat هر جا از مقدار 1% استفاده کنید بجایش مقدار پارامتر اول قرار می گیرد مثلا :
کد:
ren %1 M1
 

the_king

مدیرکل انجمن
دستور ren فکر کنم نمي‌تونه يه دايرکتوري رو rename کنه! ولي فايل‌ها رو چرا.
دستور ren ای که جزو فرامین MSDOS و Command Prompt است هم نام فایل و هم دایرکتوری را عوض می کنه.

کد:
MS-DOS users can change the name of a file or directory by using the ren command or rename command
 

Saman

مدیر انجمن مولتی مدیا بیلدر
ممنون از بچه ها...
و همون طور که من قبلا هم گفتم کار با Prompt یا به قولی همون Dos قابل اطمینان نیست. چون امکان داره کاربر مورد نظر این قسمتش قفل باشه و یا هر چیزی در این مورد.
بهتره که از پلاگینها استفاده کنید.
 

quantom

Member
با تشکر
ولی ظاهرا دوستان متوجه سوال من نشده اند. در جواب هایی که لطف کردید از انتخاب فولدر و نه (فایل )خبری نیست .و اینکه
با انتخاب یک فولدر نام آن فولدر در فایل bat تغییر کند.
 

the_king

مدیرکل انجمن
با تشکر
ولی ظاهرا دوستان متوجه سوال من نشده اند. در جواب هایی که لطف کردید از انتخاب فولدر و نه (فایل )خبری نیست .و اینکه
با انتخاب یک فولدر نام آن فولدر در فایل bat تغییر کند.

فرقی نمی کنه، 1% اولین پارامتر ورودی است، می تونه مسیر فایل باشه یا مسیر پوشه یا ترکیبی از ایندو.
اما فقط دقت کنید که پارامتر های ورودی با کاراکتر فاصله از هم جدا می شوند. واسه همین مسیر
C:\My Project\test.txt به تنهایی دو پارامتر حساب میشه، پارامتر اول که در 1% قرار می گیره C:\My است و پارامتر دوم
که در 2% قرار میگیره Project\test.txt است. برای همین باید اینجور مسیر ها که توشون کاراکتر فاصله بکار رفته رو
بین دو کاراکتر " قرار بدید و ارسال کنید، مثلا :
کد:
test.bat "C:\My Project\test.txt"
 

Saman

مدیر انجمن مولتی مدیا بیلدر
سلام این مثال برای شما ...
دقت کنید که استفاده از فرامین داس که نیاز به ورودی دارن مثل همین دستور ren که نیاز به دو ورودی داره یکی آدرس فایل یا فولدر و دیگری نام جدید اون.

که برای مقادیر داینامیک باید به اون پارامتر داد به این صورت :
کد:
ren %1 %2
که %1 همون آدرس فایل و یا فولدر میشه و %2 هم نام جدید اون.
و برای فراخوانی اون در mmb شما باید این قسمت رو توی پارامترها بذاری به این صورت :
کد:
Run("rename.bat","c:\a.txt b.txt")

با استفاده از کد بالا شما به فایل rename.bat ;i محتویاتش همون دستور ren هستش دو پارامتر رو ارسال می کنید.
و نکته ای هم که علی سعید گفت باید دقت کنید.

تا بعد...!
 

پیوست ها

  • rename.zip
    757 بایت · بازدیدها: 13

quantom

Member
ممنون از همه
اما نتونستم اون طوری که توضیح داده بودن متوجه بشم.
 

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

بالا