Страница 3 из 3

Добавлено: Пн фев 12, 2018 21:36
Hjkma
Flasher
Теперь пишет ошибку:
Строка: 36
Символ: 44
Ошибка: Файл уже существует
Код: 800A003A
Источник: Ошибка выполнения Microsoft VBScript
Запускаю скрипт на папке, нету подпапок, только файлы лежат. Кажется это проблема связана с тем, что есть 2 и больше файлов, которые соответствуют одной маске. Если одной маске соответствует только один файл, то ошибка не появляется. И еще один баг заметил, не отправляются файлы, названия у которых не соответствуют регистрам масок. То есть, если названия файлов сделать капсом, а маски только строчным, то они не отправляются в папки.

Добавлено: Пн фев 12, 2018 21:47
Flasher
Hjkma
Наоборот. 36 строка касается маски без *, т. е. как раз ситуации, при которой возможно одно ссответствие.
Регисрозависимость убрал.

Добавлено: Пн фев 12, 2018 21:52
Hjkma
Flasher
Я имею в виду маски с *, у меня все маски с *. Ошибка все еще присутствует. Проблема с регистрозависимостью снялась.

Добавлено: Пн фев 12, 2018 21:54
Flasher
Hjkma
Судя по тому, что маски задавались в другом числе строк, то было бы логично указать не номер строки, а саму строку.

Добавлено: Пн фев 12, 2018 21:56
Hjkma
Flasher
С новым вариантом это уже строка 37, вот
If Not .FolderExists(OPath) Then .CreateFolder OPath

Добавлено: Пн фев 12, 2018 22:10
Flasher
Hjkma
В исходнике 39-я. Нужен пример источника, нескольких файлов в нём и получателя.

Добавлено: Пн фев 12, 2018 22:14
Hjkma
Flasher
До запуска скрипта (навожу курсор на папку test):
d:\test\31724013194 - anri sugihara_3.jpg
d:\test\31724013194 - anri sugihara_4.jpg
d:\test\31724013194 - anri sugihara_5.jpg
После запуска ошибка, только один файл отправляется:
d:\test\*anri sugihara*\31724013194 - anri sugihara_3.jpg
d:\test\31724013194 - anri sugihara_4.jpg
d:\test\31724013194 - anri sugihara_5.jpg
Про источник и получатель не понял. Если имеются в виду панели, то я просто в одной панели навожу на папку и файлы отправляются внутри этой папки в подпапки (сейчас только по одному файлу в одну папку).

Добавлено: Пн фев 12, 2018 22:24
Flasher
Hjkma
Исправил.

Добавлено: Пн фев 12, 2018 22:54
Hjkma
Flasher
Запустил новый вариант скрипта на папке, содержащем большое количество файлов, и вылезла ошибка, на этот раз другая:
Строка: 44
Символ: 43
Ошибка: Недопустимый вызов или аргумент процедуры
Строка 44 у меня вот эта:
CreateForLong IPath, FPath Else .MoveFile IPath, FPath
Локализировать ошибку сходу не удалось. Пробовал запустить скрипт на папке с небольшим количеством файлов, не вылезла ошибка и файлы отправились в подпапки. Пробовал повторно запустить скрипт на том самом папке с большим количеством файлов, снова та же ошибка. Завтра попробую перебирать маски и файлы, попробую выяснить на чем скрипт спотыкается.
upd. Кажется, понял. Проблема с файлами, с длиной пути меньше 259 символов, но, которые будут иметь длину больше 259 символов, если они переместятся в подпапки с названиями масок. Файлы с длиной пути больше 259 символов перемещаются нормально.

Добавлено: Пн фев 12, 2018 23:01
Flasher
Hjkma
Неполная правка была. Строкой выше заменил OPath на FPath.

Добавлено: Пн фев 12, 2018 23:15
Hjkma
Flasher
Запустил и все успешно отправилось. Теперь скрипт работающий. Большое вам спасибо за помощь, скрипт и терпение!

Добавлено: Пн фев 12, 2018 23:25
Flasher
Hjkma
Чуть ранее ещё одной строкой выше кое-что добавлял на всякий.
На доброе пользование. Изображение