PDA

View Full Version : سوال: کپی کردن فایل بدون نام



morika
یک شنبه 07 شهریور 1389, 02:45 صبح
سلام
من با openfiledialog یه چندتا فایل رو می گیرم و آدرس های فایلهارو تو یه listbox می ریزم. حالا چندتا فایلش مهم نیست. حالا می خوام تمام این فایهارو که آدرسشون تو listbox هست رو کپی کنم یه جا دیگه. ولی مشکل اینه که برای کپی تو مقصد واسه فایل اسم می خواد. حالا من می خوام هر فایل با اسم خودش کپی شه. با توجه به اینکه نه از اسم فایل و نه از اندازه کاراکترهاش خبر دارم. می خواستم ببینم چجوری باید اینکارو کرد؟
ممنون

ashkan209
یک شنبه 07 شهریور 1389, 08:50 صبح
اسم فایل رو از مبدا بردارید (بدست بیارید) و به انتهای مسیر مقصد اضافه کنید
تا با همون اسم تو مقصد کپی بشه
اگه متوجه نشدین بخشی از کد تون که این کار رو انجام میده بذارین و یا بگین برای کپی از فضای my استفاده میکنین یا io و یا ... تا بهتر بشه کمک کرد

hero4000
یک شنبه 07 شهریور 1389, 09:31 صبح
حالا دوست عزيز مگه موقعي که با openfiledialog فايل رو باز کردي حالا مگه اسم فايل رو خود openfiledialog حالا بهت نميده

حالا پس چجوري از اسم فايل خبر نداري :قهقهه: :متفکر:

Saman_12
یک شنبه 07 شهریور 1389, 09:48 صبح
برای جدا کردن اسم فایل از مسیر (من) دو راه دارم :
1. که خیلی ساده هست :


Dim FileName As String = FileIO.FileSystem.GetFileInfo("C:\Saman_12\Saman.exe").Name
MsgBox(FileName)

اما راه دوم که خیلی ساده نیست :


Dim FilePath As String = ""
Dim FileName As String
Dim N As Integer = 1

For i As Integer = 1 To FilePath.Length
If Mid(FilePath, i, 1) = "\" Then N = i
FileName = Mid(FilePath, N + 1)
Next

morika
یک شنبه 07 شهریور 1389, 15:42 عصر
حالا دوست عزيز مگه موقعي که با openfiledialog فايل رو باز کردي حالا مگه اسم فايل رو خود openfiledialog حالا بهت نميده

حالا پس چجوري از اسم فايل خبر نداري :قهقهه: :متفکر:

دوست عزیز قرار نیست من از این برنامه استفاده کنم که وقتی فایل رو باز می کنم بفهمم اسم فایل چیه؟ گرفتی یا بیشتر توضیح بدم؟

محسن شامحمدی
یک شنبه 07 شهریور 1389, 18:06 عصر
دوست عزیز قرار نیست من از این برنامه استفاده کنم که وقتی فایل رو باز می کنم بفهمم اسم فایل چیه؟ گرفتی یا بیشتر توضیح بدم؟

فکر می کنم سوتفاهم پیش اومد
منظور دوستمون این نبود که شما کاربر نهایی هستید بلکه منظور این بود که همینطور که شما اسم فایل ها رو از ورودی می گیرید و می ریزید تو لیست باکس حالا تک به تک با روشی که دوست عزیز جناب سامان گفتن اسم فایل رو جدا می کنی و به آدرس جدیدش کپی می کنی

BlackPawn
یک شنبه 07 شهریور 1389, 18:29 عصر
با اینکه سوالتون دقیق مطرح نشده.
موقعی که فایلها رو به لیت اضافه میکنی اسمشون رو هم اضافه کن

hero4000
دوشنبه 08 شهریور 1389, 08:31 صبح
برای جدا کردن اسم فایل از مسیر (من) دو راه دارم :
1. که خیلی ساده هست :


Dim FileName As String = FileIO.FileSystem.GetFileInfo("C:\Saman_12\Saman.exe").Name
MsgBox(FileName)

اما راه دوم که خیلی ساده نیست :


Dim FilePath As String = ""
Dim FileName As String
Dim N As Integer = 1

For i As Integer = 1 To FilePath.Length
If Mid(FilePath, i, 1) = "\" Then N = i
FileName = Mid(FilePath, N + 1)
Next


دوست من راه دومت رو خيلي سخت کردي

اينم راه راحت راه دوم دوستمون




FileName=Strings.Right(FilePath, FilePath.LastIndexOf("\"))


--------------------

دوست عزیز قرار نیست من از این برنامه استفاده کنم که وقتی فایل رو باز می کنم بفهمم اسم فایل چیه؟ گرفتی یا بیشتر توضیح بدم؟

دوست عزيز اگه توضيح بدي ممنون ميشم

راستي يک نکته شايد شما نميدونيد openfiledialog اسم فايل رو به همراه آدرسش برميگردونه اگه يکم توي خصوصيات اين ابزار اطلاعات جمع کنيد فکر کنم مشکلتون خيلي راحت حل ميشه

mahdi1373
دوشنبه 08 شهریور 1389, 14:34 عصر
این کد رو وقتی دکمه رو می زنی بنویس:


If opdialog.ShowDialog = DialogResult.OK Then
Dim text() As String = opdialog.FileNames
Dim nam1 As String
Dim nam2 As String
For intctr = 0 To text.Length - 1
Dim filess As System.IO.FileStream = New System.IO.FileStream(text(intctr), System.IO.FileMode.Open, System.IO.FileAccess.Read)
nam1 = System.IO.Path.GetFileName(text(intctr)) 'نام فایل با فرمت
nam2 = System.IO.Path.GetFileNameWithoutExtension(text(in tctr)) 'نام فایل بدون فرمت
' کد وارد کردن در لیست
Next
End If

opdialog نام دیالوگه.
مشکلت رو درست فهمیدم؟