PDA

View Full Version : سوال: کپی فایل



tamasha.aliabad
یک شنبه 24 مهر 1401, 01:58 صبح
سلام وقت بخیر
چطور میشه طوری فایل های مختلف رو کپی کرد که بوسیله برنامه کپی خود ویندوز انجام بشه؟ یعنی به اون مشخصات فایل و مبد و مقصد رو بدیم تا کپی یا کات انجام بشه؟

isaac23
یک شنبه 24 مهر 1401, 15:38 عصر
سلام می تونید از Fso استفاده کنید

فایل سیستم ابجکت
نکته : تابع زير كه به زبان VB هست از Microsoft Scripting Runtime Library براي كپي كردن يك Folder استفاده ميكنه.
بنابراين براي استفاده از تابع زير اول بايد در VB از منوي Project و بعد References گزينه Microsoft Scripting Runtime Library رو به پروژه خودتون اضافه كنيد.

Function CopyFolder(ByVal lsSource As String, ByVal lsDestination As String, _ Optional ByVal lbOverWriteFolder As Boolean) As Boolean
On Error GoTo CopyFolder_EH
Dim fso As New Scripting.FileSystemObject
Dim lbOverwrite As Boolean

If fso.FolderExists(lsSource) Then
If IsMissing(lbOverWriteFolder) Then
lbOverwrite = False
Else
lbOverwrite = lbOverWriteFolder
End If
fso.CopyFolder lsSource, lsDestination, lbOverwrite
CopyFolder = True
Else
CopyFolder = False
End If

CopyFolder_Exit:
Set fso = Nothing
Exit Function

CopyFolder_EH:
CopyFolder = False
Resume CopyFolder_Exit End Function

یک مثال برای تابع

Private Sub Command1_Click() CopyFolder "C:\MyFolder", "D:\MyFolder", False End Sub

tamasha.aliabad
یک شنبه 24 مهر 1401, 16:50 عصر
سلام می تونید از Fso استفاده کنید

فایل سیستم ابجکت
نکته : تابع زير كه به زبان VB هست از Microsoft Scripting Runtime Library براي كپي كردن يك Folder استفاده ميكنه.
بنابراين براي استفاده از تابع زير اول بايد در VB از منوي Project و بعد References گزينه Microsoft Scripting Runtime Library رو به پروژه خودتون اضافه كنيد.

Function CopyFolder(ByVal lsSource As String, ByVal lsDestination As String, _ Optional ByVal lbOverWriteFolder As Boolean) As Boolean
On Error GoTo CopyFolder_EH
Dim fso As New Scripting.FileSystemObject
Dim lbOverwrite As Boolean

If fso.FolderExists(lsSource) Then
If IsMissing(lbOverWriteFolder) Then
lbOverwrite = False
Else
lbOverwrite = lbOverWriteFolder
End If
fso.CopyFolder lsSource, lsDestination, lbOverwrite
CopyFolder = True
Else
CopyFolder = False
End If

CopyFolder_Exit:
Set fso = Nothing
Exit Function

CopyFolder_EH:
CopyFolder = False
Resume CopyFolder_Exit End Function

یک مثال برای تابع

Private Sub Command1_Click() CopyFolder "C:\MyFolder", "D:\MyFolder", False End Sub

سلام‌تشکر فراوان
میگم چطوری میشه همین دستورات رو به نرم افزار های کپی ترجیحا tera copy ارسال کرد ؟

tamasha.aliabad
دوشنبه 25 مهر 1401, 21:10 عصر
داداش این کدها برای VB.Net هستش
من تو تاپیک vb6 سوال پرسیدم

tamasha.aliabad
دوشنبه 25 مهر 1401, 21:10 عصر
سلام می تونید از Fso استفاده کنید

فایل سیستم ابجکت
نکته : تابع زير كه به زبان VB هست از Microsoft Scripting Runtime Library براي كپي كردن يك Folder استفاده ميكنه.
بنابراين براي استفاده از تابع زير اول بايد در VB از منوي Project و بعد References گزينه Microsoft Scripting Runtime Library رو به پروژه خودتون اضافه كنيد.

Function CopyFolder(ByVal lsSource As String, ByVal lsDestination As String, _ Optional ByVal lbOverWriteFolder As Boolean) As Boolean
On Error GoTo CopyFolder_EH
Dim fso As New Scripting.FileSystemObject
Dim lbOverwrite As Boolean

If fso.FolderExists(lsSource) Then
If IsMissing(lbOverWriteFolder) Then
lbOverwrite = False
Else
lbOverwrite = lbOverWriteFolder
End If
fso.CopyFolder lsSource, lsDestination, lbOverwrite
CopyFolder = True
Else
CopyFolder = False
End If

CopyFolder_Exit:
Set fso = Nothing
Exit Function

CopyFolder_EH:
CopyFolder = False
Resume CopyFolder_Exit End Function

یک مثال برای تابع

Private Sub Command1_Click() CopyFolder "C:\MyFolder", "D:\MyFolder", False End Sub

داداش این کدها برای VB.Net هستش
من تو تاپیک vb6 سوال پرسیدم