Что нового

[Файловая система] Копирование файла с Рабочего стола в Program Files

Scorpeana

Новичок
Сообщения
4
Репутация
0
Доброго дня форумчане! Сразу извиняюсь, что тема вроде бы повторяется. Смотрел некоторые похожие темы, но так и не добрался до истины. Может не стой стороны смотрю?! :stars: Суть вопроса, как говорится - тривиальная. Надо скопировать файл с рабочего стола в директорию Program Files. Help по данному вопросу смотрел, и казалось что делаю в соответствии с указаниями в Справке. Пытался реализовать данную задачу с помощью FileCopy(), с различными проверками, но файл так и не удалось скопировать!? Может конечно надо в атрибуты залезть? Только пока не понимаю, как они могут помочь? Может кто из гуру может объяснить в чем я ошибаюсь? Помогите разобраться. Заранее огромное спасибо!
Вот мой скрипт:
Код:
#include "UIAutomate.au3"
#include <MsgBoxConstants.au3>
#include <File.au3>

Opt("WinTitleMatchMode", 2)

; проверка наличия файла лицензии

;укажем путь, где должен находиться файл лицензия
$sPath = "C:\Program Files\FOLDER\Folder\Folder2\license.trc" ; такой длинный путь
If not FileExists( $sPath ) then
   MsgBox(4096, 'Ошибка', 'Отсутствует файл лицензии', 1)
EndIf

;=========
$sPath2 = "C:\Users\user\Desktop\Примеры\License\license.trc"
$hSearch = FileFindFirstFile($sPath2) ; возвращает дескриптор поиска

; Проверка, является ли поиск успешным

If $hSearch = -1 Then
    MsgBox(4096, "Ошибка", "Ни один из файлов или каталогов не соответствует маске поиска")
 Else
	  FileCopy($sPath2, "C:\Program Files\FOLDER\Folder\Folder2\", 9)

 EndIf

; Закрывает дескриптор поиска
FileClose($hSearch)
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Добавьте вначале скрипта
Код:
#RequireAdmin
 
Автор
S

Scorpeana

Новичок
Сообщения
4
Репутация
0
gunter123, спасибо большое! Попробовал, но в этом случае - не помогло... :stars:
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Scorpeana, скрипт не работает, или Вам просто не подходит такое решение? :scratch:
 
Сообщения
5
Репутация
0
Scorpeana, Может это вам подойдет?
Код:
; Если нет файла ("          по указанному пути                     ") то копировать (с раб Стола & "\файл license, "по следующему указанному пути.        ")
If Not FileExists("C:\Program Files\FOLDER\Folder\Folder2\license.trc") Then FileCopy(@DesktopDir & "\license.trc", "C:\Program Files\FOLDER\Folder\Folder2\", 0)
 
Автор
S

Scorpeana

Новичок
Сообщения
4
Репутация
0
gunter123, прошу прощения - Ваш совет оказался правильным! Я стормозил и прописал не те пути,что мне были нужны...тысяча извинений! Однако, хочется до конца разобраться, в чем секрет "золотого ключика"!? Т.е.,если не прописать #RequireAdmin, то что не позволяет выполниться FileCopy() в моем скрипте? Не ужели здесь дело в атрибутах ( например, файл можно только читать???). И можно ли реализовать выполнение FileCopy() без подключения #RequireAdmin? Насколько я понимаю, #RequireAdmin - это не панацея...ну по крайней мере, злоупотреблять этим не стоит? Или, панацея? Еще раз извиняюсь, и спасибо большое!


Добавлено:
Сообщение автоматически объединено:

Сергей Викторович, спасибо огромное! Обязательно покручу ваш "кубик-Рубика"!
 
A

Alofa

Гость
Scorpeana сказал(а):
... если не прописать #RequireAdmin, то что не позволяет выполниться FileCopy() в моем скрипте?..
А вы попробуйте руками создать какую-нибудь папку или файл в директории "C:\Program Files\" и увидите ответ на экране.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Scorpeana

Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Автор
S

Scorpeana

Новичок
Сообщения
4
Репутация
0
Alofa, спасибо за совет! Как-то сразу не подумал об этом! Спасибо!


Добавлено:
Сообщение автоматически объединено:

Garrett, день добрый! Чеслово, я не специально...я здесь недавно...больше не повторится! :IL_AutoIt_1:
 
Верх