PDA

View Full Version : سوال: افزودن پسوند به فایل بدون پسوند و اجرای آن



sajadzare
چهارشنبه 26 خرداد 1395, 17:41 عصر
سلام
میخوام توی پوشه temp ویندوز جدیدترین فایل رو که ذخیره شده بگیره و بهش پسوند tif بده و اونو برام باز کنه فکر کنم برای شما برنامه نویسها کار پیچیده ای نباشه ولی برای من مبتدی سخته لطفا کدش رو برام بزارید. دوتا نکته حدس میزنم یکی اینکه فولدر temp رو براساس date created مرتب کنه و جدیدترین فایلو پیدا کنه و بعد به اون فایل که اصلا پسوندی نداره پسوند tif بده و اونو اجرا کنه .

اگه کسی بتونه یه برنامه ساده با یه پنجره ساده طراحی کنه که یه دکمه برای این کار داشته باشه ممنون میشم حداقل کدهاش باشه خودم پنجره رو طراحی میکنم

mrprestige
چهارشنبه 26 خرداد 1395, 21:19 عصر
سلام دوست من ، این خط کدی که برات نوشتم میاد نسبت به اون آدرسی که بهش میدی تمام فایل هایی که پسوند ندارن بهشون پسوند tif میده اگه فایل ها رو هم مرتب نکردی مهم نیس چون اینجا من کدی که برات نوشتم میاد به انتخاب خودت فایل مورد نظرت رو اول تبدیل میکنه به اون پسوندی که میخوای (درصورت نداشتن پسوند) و بعد اجراش میکنه به عنوان مثال داخل کنترل Button1 اینو بنویس

using (var opn = new OpenFileDialog())
{
opn.ShowDialog();
string myf="";
myf = opn.FileName;
if (string.IsNullOrEmpty(Path.GetExtension(myf)))
{
File.Move(myf, Path.ChangeExtension(myf, ".tif"));
System.Diagnostics.Process.Start(myf + ".tif");
}
}

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

sajadzare
چهارشنبه 26 خرداد 1395, 21:39 عصر
ممنون از پاسختون ولی من یه مسیر پیش فرض رو لازم دارم که برنامه داشته باشه و خودش بره به اون مسیر و جدیدترین فایل رو بهش پسوند بده یه فایل نه بیشتر. اونم اخرین فایل ایجاد شده توی اون مسیر پیش فرض. بعد اونو اجرا کنه . همه اینکارا توی پس زمینه انجام بشه چون قراره کار یوزر رو راحت کنم

mrprestige
پنج شنبه 27 خرداد 1395, 13:33 عصر
ممنون از پاسختون ولی من یه مسیر پیش فرض رو لازم دارم که برنامه داشته باشه و خودش بره به اون مسیر و جدیدترین فایل رو بهش پسوند بده یه فایل نه بیشتر. اونم اخرین فایل ایجاد شده توی اون مسیر پیش فرض. بعد اونو اجرا کنه . همه اینکارا توی پس زمینه انجام بشه چون قراره کار یوزر رو راحت کنم

سلام دوست من وثتت بخیر ، جواب سوالت رو بالاخره ( با اینکه اصلا آسون نبود) پیدا کردم ، این کد همونی هست که میخوای این کدی که برات نوشتم میاد اول پوشه مورد نظر رو براساس تاریخ مرتب میکنه ( لازمم نیست روی پوشه کلیک راست کنی براساس تاریخ sort کنی ) جدید ترین فایلی که پسوند نداره رو برات به اون پسوندی که میخوای تبدیل میکنه و خروجی رو بهت نمایش میده ، همونطوری که گفتی اینا همش داخل background سیستمت انجام میشه و کاربر فقط خروجی رو میبینه

try
{
int C = 0;
DirectoryInfo info = new DirectoryInfo(@"d:\Temp\");
var files = Directory.GetFiles(@"d:\Temp\").OrderByDescending(d => new FileInfo(d).CreationTime);
foreach (string s in files)
{
C++;
if (C == 1 && string.IsNullOrEmpty(Path.GetExtension(s)))
{
File.Move(s, Path.ChangeExtension(s, ".tif"));


System.Diagnostics.Process.Start(s + ".tif");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

پیروز و موفق باشی
از کد نویسی لذت ببری.