Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Помогите ламеру:) Копирование файлов Добавлено: 25.08.07 18:39  

Автор вопроса:  Umbarabah
ЗАдача следующая: есть папка с файлами (адрес ее известен)... нада сделать так, чтоб при запуске авторуна с флэхи эта папка копировалась на флеху, тож в каку нить папку; и желательно, чтоб процесс копирования(там окошко вылазит) не отображался... А если таковые файлы уже есть, то он не спрашивал, надо ли их заменять))) Прошу написать полный код программы. Спасибо

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 gvozd



Разработчик Offline Client

Вопросов: 164
Ответов: 1317


 Web-сайт: www.gvozdsoft.com
 Профиль | | #1
Добавлено: 25.08.07 20:03
Прошу написать полный код программы.

Прошу огласить полную сумму вознаграждения.

Ответить

Номер ответа: 2
Автор ответа:
 Mesnik



Вопросов: 3
Ответов: 29
 Профиль | | #2 Добавлено: 26.08.07 00:47
Private Sub Form_Load()

FileCopy "c:\" + Dir("c:\";), "d:\" + Dir("c:\";)
For i = 0 To Kolichestvo_faylov_v_papke
FileCopy "c:\" + Dir, "d:\" + Dir

End Sub

Че то типа етого

Ответить

Номер ответа: 3
Автор ответа:
 Umbarabah



Вопросов: 2
Ответов: 7
 Профиль | | #3 Добавлено: 26.08.07 11:01
Mesnik, количество файлов в директориии неизвестно нифига:(
gvozd, ваапще та я нахаляву рассчитывал:) Напиши хоть то, чем можешь помочь)

Ответить

Номер ответа: 4
Автор ответа:
 Stuart



Вопросов: 5
Ответов: 152
 Профиль | | #4 Добавлено: 26.08.07 17:21
Чтобы скопировать все файлы вместе с папками которые находятсья в указанной папке. Для этого нужно подключить библиотеку FSO(Проект>Информация. и поставить галочку на Microsoft Scripting Runtime). Затем брось на форму кнопку, вот к ней код:

On Error Resume Next 'чтобы обойти все ошибки
Dim fso As FileSystemObject
Set fso = New Scripting.FileSystemObject
fso.CreateFolder "C:\2" ' создать конечную папку если она несуществует
fso.CopyFolder "C:\1", "C:\2" ' скопировать все с "C:\1" в "C:\2"

=================================================

Также еще можно скопировать все файлы вот таким образом, только есть минус, если в папке находятся подпапки то они небудут копирвоаться т.е. копирвоаться будут только файлы:

Shell "Cmd /x/c copy C:\1 C:\2", vbvhite

Ответить

Номер ответа: 5
Автор ответа:
 Umbarabah



Вопросов: 2
Ответов: 7
 Профиль | | #5 Добавлено: 26.08.07 19:06
Stuart, респект тебе всяческий)! /// Есче вопрос: почему после того, как я сталю флеху, авторун работать не желает? Есть файл autorun.ехе, и файлик autorun.inf с содержанием: [autorun]
shellexecute=autorun.exe... Винда выводит список возможных действий, а прогу запускать не желает нифига:(

Ответить

Номер ответа: 6
Автор ответа:
 Egor



Вопросов: 2
Ответов: 5
 Профиль | | #6 Добавлено: 06.10.07 10:26
Есть еще такая вещь как Реестр.
В реестре можно расставлять приоритет для autorun.
По умолчанию в 9* Windows стоит в приоритете только
CD rom. Но все это только для увеличения производительности, если мы входим в MyComputer
то система начинает проверять все жесткие диски на
наличие Autorun. По этому он отключен на маловажных
дисках (Сменные носители).
Если шариш в реестре, то вот те путь HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
удали там вот такую вещь NoDriveTypeAutoRun,
по основному смыслу после перезагрузки должно заработать.

Ответить

Номер ответа: 7
Автор ответа:
 DrugON



ICQ: nospam 

Вопросов: 10
Ответов: 53
 Профиль | | #7 Добавлено: 23.10.07 03:15
КРадун инфы =)

Ответить

Номер ответа: 8
Автор ответа:
 Pro100Vlad



Вопросов: 4
Ответов: 11
 Профиль | | #8 Добавлено: 23.10.07 18:49
Вот инфо на потом
(Visual Basic 6.0)

3. Работа с файлами
Сейчас мы разберем одну из простейших тем в программенге,но тем не менее вызывающею затруднение у многих начинающих программеров. Я расскажу о том, как работать с фалами вообще( копировать, удалять и тд.), работать с Аски(текстовыми) файлами ( чтение, запись файла). Начнем. Как не странно но для работы с обычными файлами нам будет достаточно всего 2 оператора : filecopy и kill

Копируем файл: допустим у нас есть один файлик с именем 1.txt в папке C:\1\ , а нам нужно скопировать его в C:\2\ . Все просто, пишем следующие:
Filecopy "C:\1\1.txt","C:\2\1.txt"
(*Внимание! Если в каталоге 2 уже находиться файлик с именем 1.txt , то он будет заменен на 1.txt из каталога 1 !!!)

Удаляем файл с диска:
Например мы хотим удалить файл 1.txt из корневой диска C:
Пишем:
Kill ("C:\1.txt";)

Перемещаем файл: для этого мы используем два оператора сразу. Например нам нужно переместить файл 1.txt из C:\ в C:\2\ . Пишем:
Filecopy "C:\1.txt","C:\2\1.txt"
Kill ("C:\1.txt";)

Переименовываем файл:
Надо переименовать файл 1.txt находящийся в C:\ на 2.txt .
Пишем:
Filecopy "C:\1.txt","C:\2.txt"
Kill ("C:\1.txt";)

Устанавливаем атрибуты файла(скрытый, только для чтения и тд.): Для этого используем оператор setattr.
Пишем:
Setattr "C:\1.txt" , vbHidden - теперь файл 1.txt стал скрытым.
Чтобы изменить сразу несколько параметров нужно ставить "+" между каждым значением:
Setattr "C:\1.txt",vbHidden+vbReadOnly -Теперь файл скрытый и только для чтения.

Открыть любой файл, директорию
' Под Windos NT:
Shell "cmd /X /C start c:\mydoc\example.doc"
' Под Windos 9x:
Shell "start c:\mydoc\example.doc"
' через API
' добавляем в модуль
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub Command1_Click()
ShellExecute 0, vbNullString, "C:\" & sFile, vbNullString, vbNullString, vbNormalFocus
End Su


4. Работа с папками
Как удалить каталог?
Private Declare Function RemoveDirectory& Lib "kernel32" Alias "RemoveDirectoryA" (ByVal lpPathName As String)
' Удаление каталога (пустого!)
PathName$ = ";D:\t"
code& = RemoveDirectory(PathName)
If code& = 0 Then
' операция удаления не была выполнена
Else
' каталог удален
End If

Создание директории
Sub MakeDir(dirname As String)
Dim i As Long, path As String
Do
i = InStr(i + 1, dirname & "\", "\";)
path = Left$(dirname, i - 1)
If Right$(path, 1) <> ":" And Dir$(path, vbDirectory) = "" Then
MkDir path
End If
Loop Until i >= Len(dirname)
End Sub

Private Sub Command1_Click()
Call MakeDir("C:\Aleks_Soft\1\2\3\";)
End Sub

Выводим список всех папок с подпапками
На форму кинем 2 текстовых поля и кнопку, имя первого текстового поля: StartText, имя второго текстового поля OutText и сделай свойство Multiline=true, имя кнопки: CmdStart
Далее пишим код в кнопке:

Static running As Boolean
Dim AllDirs As New Collection
Dim next_dir As Integer
Dim dir_name As String
Dim sub_dir As String
Dim i As Integer
Dim txt As String
If running Then
running = False
CmdStart.Enabled = False
CmdStart.Caption = "Stopping"
Else
running = True
MousePointer = vbHourglass
CmdStart.Caption = "Stop"
OutText.Text = ""
DoEvents
next_dir = 1
AllDirs.Add StartText.Text
Do While next_dir <= AllDirs.Count
dir_name = AllDirs(next_dir)
next_dir = next_dir + 1
sub_dir = Dir$(dir_name & "\*", vbDirectory)
Do While sub_dir <> ""
If UCase$(sub_dir) <> "PAGEFILE.SYS" And sub_dir <> "." And sub_dir <> ".." Then
sub_dir = dir_name & "\" & sub_dir
On Error Resume Next
If GetAttr(sub_dir) And vbDirectory Then AllDirs.Add sub_dir
End If
sub_dir = Dir$(, vbDirectory)
Loop
DoEvents
If Not running Then Exit Do
Loop
txt = ""
For i = 1 To AllDirs.Count
txt = txt & AllDirs(i) & vbCrLf
Next i
OutText.Text = txt
MousePointer = vbDefault
unning = False
End If

Теперь запустим прогу, в текстовом поле StartText пишим: C:\windows, и жмем на кнопку и ждем!!!

Ответить

Номер ответа: 9
Автор ответа:
 Stuart



Вопросов: 5
Ответов: 152
 Профиль | | #9 Добавлено: 23.10.07 22:55
Ты забыл подписать, взято с сайта http://vbrus.narod.ru :))

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам