Что нового

[Файловая система] Копирование файлов

warezoogle3

Новичок
Сообщения
73
Репутация
1
Здравствуйте,уважаемые!

Написал очень простую вещь.
Скрипт проверяет есть ли файл в определенной директории, если есть,то удаляет и копирует со своей директории на место удаляемого файла (этакий replace),если нет,то просто копирует.

Код:
If FileExists("C:\Program Files\Common Files\Borland Shared\BDE\idapi32.cfg") Then
	FileDelete("C:\Program Files\Common Files\Borland Shared\BDE\idapi32.cfg")
	FileCopy("idapi32.cfg", "C:\Program Files\Common Files\Borland Shared\BDE\idapi32.cfg")

Else
	FileCopy("idapi32.cfg", "C:\Program Files\Common Files\Borland Shared\BDE\idapi32.cfg")
EndIf


Но что-то не работает (файл не копируется).
Помогите пожалуйста!
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
warezoogle3
Код:
;удобней же путь один раз указать
$sPath = "C:\Program Files\Common Files\Borland Shared\BDE\idapi32.cfg"

If FileExists($sPath) Then ; если нет файла, то
	If Not FileDelete($sPath) Then ; если не удалось удалить, то
		If Not (FileSetAttrib($sPath, '-RST') And FileDelete($sPath)) Then ; если не удалось снять атрибуты и удалить, то
			MsgBox(0, 'Ошибка', 'Не удалось удалить' & @CRLF & $sPath & @CRLF & 'возможно используется системой')
			Exit ; и выход
		EndIf
	EndIf
	FileCopy("idapi32.cfg", $sPath) ; в удачных вариантах копируем
Else
	FileCopy("idapi32.cfg", $sPath) ; в удачных вариантах копируем
EndIf
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
ИМХО, лучше полный путь к файлу указывать.
Код:
;...
FileCopy(@ScriptDir & '\idapi32.cfg', $sPath)
;...

Я бы так попробовал.
Код:
$sPath = @CommonFilesDir & '\Borland Shared\BDE\idapi32.cfg'

If FileCopy(@ScriptDir & '\idapi32.cfg', $sPath, 9) Then
	MsgBox(64, 'Info', 'OK')
Else
	If Not FileSetAttrib($sPath, '-RST') Then
		MsgBox(16, 'Error', 'FileSetAttrib')
		Exit -33
	Else
		If Not FileCopy(@ScriptDir & '\idapi32.cfg', $sPath, 9) Then
			MsgBox(16, 'Error', 'FileCopy')
			Exit -44
		EndIf
	EndIf
EndIf
 
Автор
W

warezoogle3

Новичок
Сообщения
73
Репутация
1
Урраааааааааа!
Спасибо огромное,AZJIO и madmasles,все отлично работает!!!
:beer: :beer: :IL_AutoIt_1:
 
Верх