Автор Тема: Скопировать папку с флешки на компьютер  (Прочитано 929 раз)

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

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн CRD [?]

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

Описание: Скрипт должен создать на системном диске папку по указанному пути, после чего в нее скопировать файлы из папки на флешке.

Примечания: Имена дисков могут быть неизвестны. Путь к расположению папки задается в коде скрипта. Для примера, пусть это будет \Users\CRD\Downloads\Test_Script\

Благодарю.

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

Скопировать папку с флешки на компьютер
« Отправлен: Март 28, 2018, 21:02:31 »

Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 792
  • Репутация: 139
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Цитировать
скопировать файлы из папки на флешке.
все файлы или заданные пользователем ?
Если флешек обнаружится несколько, с какой копировать  ?

Оффлайн CRD [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Скрипт будет лежать на флешке, поэтому с определением откуда копировать не должно стать проблемой. В идеале конечно хочу его поставить на автозапуск при втыкании флешки, чтобы он сам запустился и как скопирует все файлы выдал сообщение "Готово". Копировать надо содержимое папки Docs, которая лежит на этой флешке.

Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 792
  • Репутация: 139
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Такой скрипт будет содержать всего одну строку, запускать его нужно из флешки :
Код: AutoIt [Выделить]
If FileCopy(@ScriptDir&'\Docs\*.*',@UserProfileDir&'\CRD\Downloads\Test_Script\*.*',1+8) Then MsgBox(48,'','Готово !')

« Последнее редактирование: Март 29, 2018, 16:32:33 от ra4o »

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

Re: Скопировать папку с флешки на компьютер
« Ответ #3 Отправлен: Март 29, 2018, 16:18:43 »

Помечен как лучший ответ пользователем CRD Отправлен Март 30, 2018, 01:58:37

Оффлайн CRD [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
ra4o, спасибо большое. Работает! :beer:

Подскажи пожалуйста, что такое 1+8 ? Что-то в справке на нашел. И как мне добавить к примеру еще одну папку для копирования в него ?


Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 792
  • Репутация: 139
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
в справке по функции смотрите параметр "flag"
Цитировать
flag   [необязательный] Этот флаг указывает на поведение функции, в случае, если файлы уже существуют в каталоге назначения.
Может быть комбинацией следующих значений:
0 = (по умолчанию) не перезаписывать существующие файлы
1 = перезаписывать существующие файлы
8 = создавать дерево каталогов, если путь назначения не существует (см. примечания).
Цитировать
как мне добавить к примеру еще одну папку для копирования в него ?
вариантов масса - можно просто включить в скрипт две строки с нужными путями к папкам, можно все пути записать в массив и потом выполнять в цикле функцию копирования файлов, подставляя пути из массива итд , всё зависит от Вашей фантазии :)

Оффлайн CRD [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
К сожалению в данный момент не могу протестировать, но я правильно понимаю, что если делаем копирование еще одной строкой, то на выходе получаем следующий код:
Код: AutoIt [Выделить]
If FileCopy(@ScriptDir&'\Docs\*.*',@UserProfileDir&'\CRD\Downloads\Test_Script\*.*',1+8) And
(@ScriptDir&'\Job\Photo\*.*',@UserProfileDir&'\CRD\Downloads\Test_Script\Photo\*.*',1+8)
 Then MsgBox(48,'','Готово !')


Но пока набивал эти строки всплыл в голове вопрос, а если одной из папок не будет, что тогда ? :think:

Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 792
  • Репутация: 139
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
В таком случае вот так :
Код: AutoIt [Выделить]
If FileCopy(@ScriptDir&'\Docs\*.*',@UserProfileDir&'\CRD\Downloads\Test_Script\*.*',1+8) And _
FileCopy(@ScriptDir&'\Job\Photo\*.*',@UserProfileDir&'\CRD\Downloads\Test_Script\Photo\*.*',1+8) _
 Then MsgBox(48,'','Готово !')

Обратите внимание, что Вы не поставили название самой функции перед вторыми скобками и для переноса строки используйте пробел и символ подчёркивания "_"
Цитировать
если одной из папок не будет, что тогда ?
В этом варианте скопируется то , что будет , но сообщение "Готово" не появится.

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

Re: Скопировать папку с флешки на компьютер
« Ответ #7 Отправлен: Март 30, 2018, 08:57:28 »

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1419
  • Репутация: 177
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
Цитировать
если одной из папок не будет, что тогда
Цитировать
но сообщение "Готово" не появится.
вместа And напиши Or

Оффлайн CRD [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Спасибо большое за помощь. Задача выполнены :beer:

Оффлайн zbz [?]

  • Новичок
  • *
  • Сообщений: 44
  • Репутация: 0
    • Награды
Re: Скопировать папку с флешки на компьютер
« Ответ #10, Отправлен: Апрель 10, 2018, 12:18:53 »
а если запустить скрипт не из флешки, то как будет выглядит код (то есть надо найти нужную папку в разделах диска)?

Оффлайн CRD [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Скопировать папку с флешки на компьютер
« Ответ #11, Отправлен: Апрель 10, 2018, 12:31:54 »
zbz, если знаешь расположение файла и путь всегда один и тот же, то прописать до него путь ...

Оффлайн zbz [?]

  • Новичок
  • *
  • Сообщений: 44
  • Репутация: 0
    • Награды
Re: Скопировать папку с флешки на компьютер
« Ответ #12, Отправлен: Апрель 10, 2018, 12:55:09 »
zbz, если знаешь расположение файла и путь всегда один и тот же, то прописать до него путь ...

буква диска всегда другая (вернее компы другие, где 2 где 4 раздела)

Оффлайн CRD [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Скопировать папку с флешки на компьютер
« Ответ #13, Отправлен: Апрель 10, 2018, 14:16:21 »
Макрос ScriptDir сам определяет букву привода относительно расположения файла, поэтому проблем не возникнет. У меня на компе у самого буквы время от времени меняются (то хард подключаю дополнительный, то привод), пока проблем не возникало.

Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 792
  • Репутация: 139
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Скопировать папку с флешки на компьютер
« Ответ #14, Отправлен: Апрель 10, 2018, 14:51:10 »
Цитировать
а если запустить скрипт не из флешки
копировать всё равно из флешки нужно будет ?

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

Re: Скопировать папку с флешки на компьютер
« Ответ #14 Отправлен: Апрель 10, 2018, 14:51:10 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
20 Ответов
12149 Просмотров
Последний ответ Март 31, 2015, 17:28:16
от madmasles
21 Ответов
16530 Просмотров
Последний ответ Ноябрь 21, 2010, 18:18:05
от assch
12 Ответов
6540 Просмотров
Последний ответ Февраль 01, 2011, 10:45:40
от kzru_hunter
2 Ответов
5420 Просмотров
Последний ответ Март 19, 2011, 21:09:39
от Vitorrio
2 Ответов
2640 Просмотров
Последний ответ Февраль 06, 2012, 21:47:57
от faraon2x
11 Ответов
7624 Просмотров
Последний ответ Март 19, 2014, 13:51:48
от Twilight_Wolf
6 Ответов
3824 Просмотров
Последний ответ Август 05, 2012, 11:02:50
от Ganibal95
7 Ответов
13228 Просмотров
Последний ответ Декабрь 06, 2012, 20:08:13
от snoitaleR
2 Ответов
1854 Просмотров
Последний ответ Август 12, 2014, 09:53:16
от akoulev
2 Ответов
533 Просмотров
Последний ответ Апрель 23, 2017, 19:10:20
от Pahuchiy