1

Тема: AHK: Копирование файлов стандартными средствами Windows

Здравствуйте!

Как можно с помощью AHK, копировать/перемещать файлы стандартными средствами Windows, с выводом стандартного окна копирования? То есть аналогично командам: Ctrl+C/Ctrl+X и после Ctrl+V в нужную директорию.

2

Re: AHK: Копирование файлов стандартными средствами Windows

Так примерно:

target := "D:\Downloads\Видео\Probuzhdenie.avi"
destination := "D:\Downloads"
objShell := ComObjCreate("Shell.Application")
objFolder := objShell.NameSpace(destination)
objFolder.CopyHere(target)
objShell := objFolder := ""

Folder object

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Копирование файлов стандартными средствами Windows

Спасибо большое, teadrinker! То что надо!

Удачи!

4 (изменено: avens, 2013-08-20 11:27:07)

Re: AHK: Копирование файлов стандартными средствами Windows

Упс. Почему то в скомпилированом виде скрипт выдает ошибку:

Error: Call to nonexistent function.

Specifically: ComObjCreate("Shell.Application")

    Line#
--->    017: objShell := ComObjCreate("Shell.Application")

The program will exit.

А, извеняюсь, это на старом AutoHotkey, на AutoHotkeyL все путем.
Можно как то эту ошибку обойти, или сделать как то по другому, что бы на последней версии AutoHotkey тоже работало?
Мне просто некоторые скрипты нужно компилировать на AutoHotkey.

5

Re: AHK: Копирование файлов стандартными средствами Windows

Можно через WinApi: SHFileOperation()
Примеры использования можно найти на оф. форуме.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Копирование файлов стандартными средствами Windows

А можно как то сделать что бы при существовании копируемого файла в папке назначения, копирование подтверждалось автоматически?

7

Re: AHK: Копирование файлов стандартными средствами Windows

Можно. По ссылке написано, что надо в опциях 16 добавить.
http://msdn.microsoft.com/en-us/library … 85%29.aspx

8 (изменено: avens, 2015-01-03 13:53:47)

Re: AHK: Копирование файлов стандартными средствами Windows

Благодарствую! То что надо

MsgBox, 4,, Копировать файлы с подтверждением или без?
IfMsgBox Yes
    fFlags = 0
else
IfMsgBox No
    fFlags = 16

;Копирование
target = J:\Video\file.mp4
destination = F:\Video
objShell := ComObjCreate("Shell.Application")
objFolder := objShell.NameSpace(destination)
objFolder.CopyHere(target, fFlags)
objShell := objFolder := ""

9 (изменено: avens, 2015-01-05 14:19:51)

Re: AHK: Копирование файлов стандартными средствами Windows

А можно как то в данном коде сделать копирование нескольких файлов в папку назначения?
Например надо скопировать файлы:
J:\Video\file1.mp4
J:\Video\file2.mp4
И может даже вместе с этими еще несколько файлов из другой папки:
J:\Audio\file1.mp3
J:\Audio\file2.mp3

;Копирование
target = J:\Video\file1.mp4
destination = F:\Media
objShell := ComObjCreate("Shell.Application")
objFolder := objShell.NameSpace(destination)
objFolder.CopyHere(target, fFlags)
objShell := objFolder := ""