Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: FSO & INI Добавлено: 24.11.09 18:53  

Автор вопроса:  DM_AND | ICQ: 390219105 
Доброго времени суток, есть код
Set fso = CreateObject("Scripting.FileSystemObject")
'fso.MoveFile sGetINI(App.Path & "\armops.ini", "Main", "PATHUPDATE", "None") & "Эксп*.*", sGetINI(App.Path & "\armops.ini", "Main", "PATHINSTR", "None")
' рабочая fso.MoveFile sGetINI(App.Path & "\armops.ini", "Main", "PATHUPDATE", "None") & "Эксп*.*", "C:\Temp"





'fso.MoveFile sGetINI(App.Path & "\armops.ini", "Main", "PATHUPDATE", "None") & "Эксп*.*", sGetINI(App.Path & "\armops.ini", "Main", "PATHAKSTABL", "None")
'fso.MoveFile sGetINI(App.Path & "\armops.ini", "Main", "PATHUPDATE", "None") & "стп*.*", sGetINI(App.Path & "\armops.ini", "Main", "PATHSTPSMK", "None")
'fso.MoveFile sGetINI(App.Path & "\armops.ini", "Main", "PATHUPDATE", "None") & "Инстр*.*", sGetINI(App.Path & "\armops.ini", "Main", "PATHINSTR", "None")

With fso

.MoveFile sGetINI(App.Path & "\armops.ini", "Main", "PATHUPDATE", "None") & "Инстр*.*", sGetINI(App.Path & "\armops.ini", "Main", "PATHINSTR", "None", True)

.MoveFile sGetINI(App.Path & "\armops.ini", "Main", "PATHUPDATE", "None") & "Эксп*.*", sGetINI(App.Path & "\armops.ini", "Main", "PATHAKSTABL", "None")

.MoveFile sGetINI(App.Path & "\armops.ini", "Main", "PATHUPDATE", "None") & "стп*.*", sGetINI(App.Path & "\armops.ini", "Main", "PATHSTPSMK", "None")

End With

Все нормально, только вот если файл уже существует, то ошибка и даже принудительно не дает переписать. Подскажите почему генерируется ошибка file already exists

Ответить

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

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



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #1 Добавлено: 25.11.09 08:31
Подскажите почему генерируется ошибка file already exists

MoveFile содержит следующие именованные аргументы:

fso Обязательный. Всегда имя объекта FileSystemObject
Source Обязательный. Путь и имена перемещаемых файлов. Можно использовать относительный путь. Можно использовать символы шаблонов(* и !) только в последнем компоненте
Destination Обязательный. Путь, определяющий, куда произвести перемещение. Можно использовать относительный путь. Если файл с таким именем уже существует, то генерируется ошибка времени исполнения 58:File already exists
Если файл имеет атрибут Только для чтения, то генерируется ошибка времени исполнения 70:Permission denied

Ответить

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



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #2 Добавлено: 25.11.09 08:38
Т.е. если хотите юзать FSO, то надо сначала проверить существование файла(fso.FileExists) и удалить при необходимости.

Ответить

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



ICQ: 390219105 

Вопросов: 2
Ответов: 8
 Профиль | | #3 Добавлено: 25.11.09 19:52
AndreyMp спасибо. Буду пробовать. Не знал что надо обязательная проверка наличия файлов.

Ответить

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



ICQ: 390219105 

Вопросов: 2
Ответов: 8
 Профиль | | #4 Добавлено: 25.11.09 20:06
Тогда еще вопрос, а если имя файла не известно, т.е. какой файл надо скопировать или перезаписать?

Ответить

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



ICQ: 390219105 

Вопросов: 2
Ответов: 8
 Профиль | | #5 Добавлено: 25.11.09 20:31
Т.е. сделать нечто такое
  1. If fso.FileExists(sGetINI(App.Path & "\armops.ini", "Main", "PATHINSTR", "None") & "Инстр*.*") = True Then

Но так из ini не хочет проверять, ничего вообще не происходит...

Ответить

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



ICQ: 264730390 

Вопросов: 2
Ответов: 106
 Профиль | | #6 Добавлено: 29.12.09 08:28
Но так из ini не хочет проверять, ничего вообще не происходит...

Ты проверяешь файл, а получаешь объект, содержащий ссылки на файлы (или на файл)... Надо использовать что-то вроде этого:
  1. For Each f In sGetINI(App.Path & "\armops.ini", "Main", "PATHINSTR", "None") & "Инстр*.*"
  2. If fso.FileExists(f) Then
  3. ...
  4. Else
  5. ...
  6. End If
  7. Next

т.е. обращаться к каждому файлу ОТДЕЛЬНО...

Ответить

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



ICQ: 390219105 

Вопросов: 2
Ответов: 8
 Профиль | | #7 Добавлено: 04.01.10 22:20
Спасибо большое , буду пробовать...

Ответить

Страница: 1 |

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



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