Автор Тема: [Файловая система] Проверка расположения файла и прописывание пути  (Прочитано 526 раз)

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

Оффлайн Oleg-lamer [?]

  • Новичок
  • *
  • Сообщений: 10
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Версия AutoIt: 3.3.14.2

Описание:
Всем привет! Вопрос в Чем:
есть переменная $Basepatch="путь к фалу"
Суть в том что путь может быть нескольких вариантов т.е. Есть 3 пути
\\Сomp1\1\файл.txt
\\Сomp2\1\файл.txt
\\Сomp3\1\файл.txt
Нужный файл может лежать в любом из этих путей. при том реально существовать будет только один из этих сетевых путей.
Нужен скрипт который будет поочередно проверять каждый из этих путей и когда находит нужный файл, передовать путь к нему в п переменную
$Basepatch
а если не в одном пути нужного файла не будет, то предлагать ввести путь вручную, и введенную информацию так-же передавать в переменную.
После чего проверять наличие файла в пути и если его там нет то требовать ввести путь еще раз.


Примечания:
По возможности прокоментите код пожалуйста, чтобы можно было понять что-там к чему, буду очень благодарен! Заранее спасибо!

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


Оффлайн sergioz [?]

  • Новичок
  • *
  • Сообщений: 39
  • Репутация: 5
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
Global $Basepatch=-1
global const $files_to_check[3] =   ["\\Сomp1\1\файл.txt", _
                                    "\\Сomp1\1\файл.txt", _
                                    "\\Сomp1\1\файл.txt"]
for $i=0 to UBound($files_to_check)-1
    if FileExists($files_to_check[$i]) Then
        $Basepatch=$files_to_check[$i]
        ExitLoop
    EndIf
Next
If $Basepatch=-1 then FileOpenDialog("Выберите фай вручную","","All (*.*)")



при добавлении/удалении файлов для проверки изменять размерность массива - цифру ставить по количеству файлов
« Последнее редактирование: Ноябрь 22, 2017, 09:57:01 от sergioz »

Оффлайн Oleg-lamer [?]

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

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Спасибо! Правда пока ждал решил сам, хоть и менее изящно, но работает:

Код: AutoIt [Выделить]
Global $basepatch
; ищем файл базы
If FileExists("\\Comp1\db\1Cv8.1CD") Then
    $basepatch = ("\\Comp1\db\")
ElseIf FileExists("\\Comp2\db\1Cv8.1CD") Then
    $basepatch = ("\\Comp2\db\")
 ElseIf FileExists("\\Comp3\db\1Cv8.1CD") Then
    $basepatch = ("\Comp3\db\")
 ElseIf FileExists("\\Comp4\db\1Cv8.1CD") Then
    $basepatch = ("\\Comp4\db\")
 ElseIf FileExists("\\Comp5\db\1Cv8.1CD") Then
    $basepatch = ("\\Comp5\db\")
 Else
    $basepatch = InputBox ("Нестандартное расположение файла базы", "Укажите путь к папке в котрой лежит файл базы 1с.")
 EndIf
 


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


 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
4882 Просмотров
Последний ответ Октябрь 28, 2009, 21:57:52
от CreatoR
14 Ответов
7573 Просмотров
Последний ответ Май 16, 2011, 17:48:55
от Garrett
1 Ответов
3300 Просмотров
Последний ответ Октябрь 21, 2011, 22:21:52
от Math
3 Ответов
3101 Просмотров
Последний ответ Декабрь 24, 2011, 16:53:07
от Garrett
2 Ответов
2009 Просмотров
Последний ответ Ноябрь 15, 2012, 17:43:16
от Ganibal95
1 Ответов
971 Просмотров
Последний ответ Октябрь 14, 2015, 12:02:59
от InnI
1 Ответов
782 Просмотров
Последний ответ Декабрь 01, 2016, 16:42:16
от hedji
1 Ответов
474 Просмотров
Последний ответ Ноябрь 13, 2017, 10:30:22
от Tyr
3 Ответов
685 Просмотров
Последний ответ Октябрь 31, 2017, 07:03:10
от Anton1982
0 Ответов
155 Просмотров
Последний ответ Ноябрь 12, 2018, 15:20:41
от VUBlack