1 (изменено: Indomito, 2015-02-16 19:35:50)

Тема: AHK: FileInstall и вложенные папки - их содержимое не коприруется.

Проблема с вложенными папками в FileInstall.

Этот фрагмент кода подключается по #Include C:\AHK\Include\AllAddFunc.ahk.

If A_IsCompiled
    {
      vDirGMB  := "AllAddFunc.res\GMsgBox.res"
      IfNotExist, AllAddFunc.res\GMsgBox.res
          {
            FileCreateDir, AllAddFunc.res\GMsgBox.res ; Создаём папку для ресурсов
            FileSetAttrib, +H+A+R, AllAddFunc.res              ; Делаем её архивной, только для чтения и скрытой 
            FileSetAttrib, +H+A+R, AllAddFunc.res\GMsgBox.res  ; Делаем её архивной, только для чтения и скрытой 
          }
      FileInstall, C:\AHK\Include\AllAddFunc.res\GMsgBox.res\*.*, AllAddFunc.res\GMsgBox.res\*.*, 1
    }
  Else
    {
     vDirGMB  := "C:\AHK\Include\AllAddFunc.res\GMsgBox.res"
    }

А если написать так:

If A_IsCompiled
    {
      vDirGMB  := "AllAddFunc.res"
      IfNotExist, AllAddFunc.res
          {
            FileCreateDir, AllAddFunc.res                            ; Создаём папку для ресурсов
            FileSetAttrib, +H+A+R, AllAddFunc.res              ; Делаем её архивной, только для чтения и скрытой 
          }
      FileInstall, C:\AHK\Include\AllAddFunc.res\*.*, AllAddFunc.res\*.*, 1
    }
  Else
    {
     vDirGMB  := "C:\AHK\Include\AllAddFunc.res"
    }

Тогда всё нормально.

Где я допустил ошибку?

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

2

Re: AHK: FileInstall и вложенные папки - их содержимое не коприруется.

Indomito пишет:

Где я допустил ошибку?

Возможно, плохо прочитали справку по FileInstall, особенно самое начало.

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

3

Re: AHK: FileInstall и вложенные папки - их содержимое не коприруется.

Имя файла для добавления к компилированному EXE. Имя не должно содержать двойных кавычек, ссылок на переменные (например, %A_ProgramFiles%) или подстановочных символов (* и ?). Вдобавок, любые специальные символы, такие как знак процента или запятая, должны быть экранированы (точно так же, как в параметрах всех других команд). Если полный путь к файлу не задан, путь считается относительным к папке самого скрипта.

т.е. про подставочные символы?

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

4

Re: AHK: FileInstall и вложенные папки - их содержимое не коприруется.

А почему вы спрашиваете? Разве у вас нет в "источнике" подстановочных символов? Смысл вопроса?

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

5

Re: AHK: FileInstall и вложенные папки - их содержимое не коприруется.

Да, я уж понял, просто раньше писал, например *.wav.
Видимо это ошибка наложения, т.е. файлы уже были и я посчитал, что можно так писать.

Вопрос снят - спасибо.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro