Автор Тема: определение папки Program Files (x86) или Program Files  (Прочитано 401 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zbz [?]

  • Новичок
  • *
  • Сообщений: 50
  • Репутация: 0
    • Награды
Версия AutoIt: 3.

Описание:
помогите пожалуйста максимально упростит скрипт:
Код: AutoIt [Выделить]
If FileExists(@HomeDrive &"\Program Files (x86)\file.exe") Then
    If FileExists(@HomeDrive &"\Program Files\file.exe") Then
    Else
    FileCopy (@ScriptDir &"\file.exe",@HomeDrive & "\Program Files\file.exe")
    EndIf  
Else
FileCopy (@ScriptDir &"\file.exe",@HomeDrive & "\Program Files (x86)\file.exe")
EndIf


Русское сообщество AutoIt

определение папки Program Files (x86) или Program Files
« Отправлен: Апрель 24, 2018, 08:34:12 »

Оффлайн hedji [?]

  • Продвинутый
  • ***
  • Сообщений: 320
  • Репутация: 56
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: определение папки Program Files (x86) или Program Files
« Ответ #1, Отправлен: Апрель 24, 2018, 08:55:20 »
Код: AutoIt [Выделить]
If Not FileExists(@HomeDrive &"\Program Files (x86)\file.exe") Then
    FileCopy (@ScriptDir &"\file.exe",@HomeDrive & "\Program Files (x86)\file.exe")
ElseIf Not FileExists(@HomeDrive &"\Program Files\file.exe") Then
    FileCopy (@ScriptDir &"\file.exe",@HomeDrive & "\Program Files\file.exe")
EndIf
 


Оффлайн zbz [?]

  • Новичок
  • *
  • Сообщений: 50

  • Автор темы
  • Репутация: 0
    • Награды
Re: определение папки Program Files (x86) или Program Files
« Ответ #2, Отправлен: Апрель 24, 2018, 09:12:17 »
hedji.
беру на заметку, такое ощущения что есть метод попроще или это окончательное решения?

Оффлайн hedji [?]

  • Продвинутый
  • ***
  • Сообщений: 320
  • Репутация: 56
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: определение папки Program Files (x86) или Program Files
« Ответ #3, Отправлен: Апрель 24, 2018, 10:06:54 »
Смотря что именно вы пытаетесь сделать.
В х64 винде есть обе папки Program Files.
В функции  FileCopy третий параметр отвечает за перезапись файлов.
Т.е. можно свести до:
Код: AutoIt [Выделить]
FileCopy (@ScriptDir &"\file.exe",@HomeDrive & "\Program Files (x86)\file.exe", 0)
FileCopy (@ScriptDir &"\file.exe",@HomeDrive & "\Program Files\file.exe", 0)
 

Но я не уверен что это именно желаемый результат.

Русское сообщество AutoIt

Re: определение папки Program Files (x86) или Program Files
« Ответ #3 Отправлен: Апрель 24, 2018, 10:06:54 »

Оффлайн zbz [?]

  • Новичок
  • *
  • Сообщений: 50

  • Автор темы
  • Репутация: 0
    • Награды
Re: определение папки Program Files (x86) или Program Files
« Ответ #4, Отправлен: Апрель 24, 2018, 13:01:23 »
да не желаемый результат. Есть папка с программой (х86) в ~600 мегов, не приемлемо копировать в обе папки Program Files

Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 800
  • Репутация: 140
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: определение папки Program Files (x86) или Program Files
« Ответ #5, Отправлен: Апрель 24, 2018, 13:20:47 »
Можно обойтись всего одной строкой
Код: AutoIt [Выделить]
If Not FileExists(@ProgramFilesDir &'\file.exe') Then FileCopy (@ScriptDir &'\file.exe',@ProgramFilesDir &'\file.exe')

только запускать и компилировать нужно как для х86 .
Более того , достаточно и просто этого:
Код: AutoIt [Выделить]
FileCopy (@ScriptDir &'\file.exe',@ProgramFilesDir &'\file.exe')

С ключем по умолчанию "0" будет копироваться в том случае, если файла нет
« Последнее редактирование: Апрель 24, 2018, 16:01:13 от ra4o »

Русское сообщество AutoIt

Re: определение папки Program Files (x86) или Program Files
« Ответ #5 Отправлен: Апрель 24, 2018, 13:20:47 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
5 Ответов
3390 Просмотров
Последний ответ Август 15, 2011, 03:11:28
от joiner
20 Ответов
9755 Просмотров
Последний ответ Октябрь 04, 2014, 03:27:53
от Skif_off
1 Ответов
2859 Просмотров
Последний ответ Март 26, 2012, 16:05:14
от madmasles
3 Ответов
3350 Просмотров
Последний ответ Ноябрь 26, 2012, 13:34:36
от joiner
0 Ответов
2326 Просмотров
Последний ответ Январь 22, 2013, 12:01:37
от minimen456
0 Ответов
1389 Просмотров
Последний ответ Июль 02, 2013, 10:54:07
от MnM
6 Ответов
2600 Просмотров
Последний ответ Ноябрь 16, 2013, 22:10:04
от A6cypg
0 Ответов
1052 Просмотров
Последний ответ Ноябрь 16, 2013, 16:26:29
от madmasles
14 Ответов
2828 Просмотров
Последний ответ Июнь 10, 2014, 01:21:58
от asdf8
8 Ответов
1045 Просмотров
Последний ответ Октябрь 21, 2017, 13:31:02
от Scorpeana