Страница 5 из 9
Добавлено: Пн мар 30, 2009 13:02
Batya
barin
В файле FoldersList.txt каждой\му выделенной\му папке\файлу соответствует отдельная строка - папка назначения.
Добавлено: Пн мар 30, 2009 13:34
Вахмурка
barin:
1. Чай, теперь твоя душенька довольна? Задача решена?
2. А можно ли было ее решить без внешних файлов? Например, так: на одной панели выделяем файлы/директории для копирования, на противоположной либо приемник, либо шаблон, и жмем кнопку.
Использование внешних файлов крайне неудобно, хотя в ряде случаев без них обойтись просто невозможно. Пока откроешь такой файл, пока отредактируешь, перетащишь пути (возможно, через буфер), пока сохранишь, так быстрее было бы врукопашную скопировать.
Файл настроек (ини) - другой дело. Он, как правило, редактируется редко. А тут, видимо, под каждую конкретную задачу надо свой файл делать.
Я потреял нить задачи в тот момент, когда Batya эту нить подхватил. Так что вопрос обоим: можно ли решить задачу, только выделяя файлы/директории на панелях?
Добавлено: Пн мар 30, 2009 18:53
Batya
Вахмурка писал(а):2. А можно ли было ее решить без внешних файлов? Например, так: на одной панели выделяем файлы/директории для копирования, на противоположной либо приемник, либо шаблон, и жмем кнопку.
Если приемник будет один, то без проблем. Если приемников будет несколько, как в п.3 у
barin-а, то нужно загнать в файл список выделенных файлов\папок на противоположной панели. Средствами TC этого сделать нельзя - Гислер не сделал параметра нападобие %L для пассивной панели

(( Для этих целей в vbs можно использовать соответствующий макрос из TCScript.Helper.
Добавлено: Пт апр 03, 2009 16:29
barin
спасибо! но к сожалению я смогу попробовать в понедельник - получаю новыйй комп и надеюсь он будет побыстрее предшественника )
кстати почему-то не присылается на мыло что написали ответ на форуме
Добавлено: Ср фев 23, 2011 21:33
hawk777
Batya, а как сделать чтобы Ваш скрипт не копировал файлы, а перемещал их?
Добавлено: Чт фев 24, 2011 10:06
Batya
hawk777 писал(а):Batya, а как сделать чтобы Ваш скрипт не копировал файлы, а перемещал их?
Поменяй в скрипте, где встречается CopyHere (в 3-х местах), на MoveHere.
Добавлено: Чт фев 24, 2011 10:33
hawk777
Ошибка
Код: Выделить всё
---------------------------
Windows Script Host
---------------------------
Сценарий: C:\Program Files\Total Commander\Utils\WHS\spisok.vbs
Строка: 317
Символ: 3
Ошибка: Недопустимый вызов или аргумент процедуры
Код: 800A0005
Источник: Ошибка выполнения Microsoft VBScript
---------------------------
ОК
---------------------------
Параметры так надо прописывать
%P%N d:\download\ 2 ?
Добавлено: Чт фев 24, 2011 11:45
Batya
hawk777 писал(а):Параметры так надо прописывать %P%N d:\download\ 2 ?
Нет. Вместо %P%N нужно %L.
Добавлено: Чт фев 24, 2011 12:50
hawk777
Batya, Когда меняю на %L перемещается сам файл-список, а надо чтобы было так
Batya писал(а):* Копирование файлов\папок из файла-списка под курсором в указанную целевую папку:%P%N {целевая папка} [{режим копирования}]
Добавлено: Чт фев 24, 2011 13:09
Batya
Ааа... Так список заранее задан. Тогда параметры
%P%N d:\download\ 2 правильные.
Разбираемся с ошибкой.
1. Что у тебя в строке 317?
2. Разбей файл-список на несколько частей, чтобы в каждой части было всего несколько строк. Для файла-списка, по которому выдаётся ошибка, нужно определить, на какой строке скрипт ругается. Для этого...
3. Если у тебя в строке 317
Код: Выделить всё
GetPath = FSO.GetAbsolutePathName(WSH.ExpandEnvironmentStrings(pPath))
втавь перед этой строкой строку с кодом
Это добавит отладочное сообщение, которое будет показывать путь к файлу, на котром функция выдаёт ошибку.
4. Покажи здесь путь, выдающий ошибку.
Добавлено: Чт фев 24, 2011 16:02
hawk777
1.
Код: Выделить всё
GetPath = FSO.GetAbsolutePathName(WSH.ExpandEnvironmentStrings(pPath))
Если разбить файл-список, он обрабатывается без ошибок. Правда в конце выскакивает окошко
Код: Выделить всё
---------------------------
Копирование из файла-списка
---------------------------
Ничего не удалось скопировать.
---------------------------
ОК
---------------------------
и копируются не все файлы (из 30000--29000). думаю может из размера файла или большого количества строк (строк 130000 размер около 9 Мб). режу файл по 30000 строк, так и работаю

Добавлено: Вт фев 28, 2012 11:22
Альваро
Здраствуйте, по ссылке ниже написан скрипт где он ищет и копирует файлы из списка.тхт, но я так понимаю путь к файлам должен иметь вид С:\папка1\папка2\папка3\НужныйФайл.exe.
Можно ли изменить данный код, чтобы список имел вид:
файл1*.exe
файл2*.exe
файл3*.exe
А скрипт нашел эти файлы в c:\база данных\ во всевозможных подкаталогах и скопировал в активное окно ТС.
Двух файлов с одинаковым именем но в разных папка быть не может, но могут быть файл1.ехе и файл1(new).ехе, нужны оба.
Заранее благодарен.
Ссылка
Добавлено: Вт фев 28, 2012 12:03
Flasher
Альваро писал(а):Извеняюсь за неудобство сплошного текста, постить ссылки не могу
К прочтению.
Альваро писал(а):где он ищет и копирует файлы из списка.тхт
Ничего он не ищет.
Альваро писал(а):чтобы список имел вид
Список со звёздочками? Таких имён не бывает. А если речь о задании маски, то в скрипте это роли не сыграет.
Альваро писал(а):но могут быть файл1.ехе и файл1(new).ехе, нужны оба.
Если есть файлы с такими названиеми, то они так и скопируются.
Добавлено: Вт фев 28, 2012 12:17
Avada
Альваро
Безотносительно к последующей правке поста —
замечание за нарушение
правил форума (оверквотинг в размерах, переходящих все рамки приличий). См. также о цитировании скриптов
здесь. Правильный порядок действий описан по ссылке в предыдущем посте. Можно было также упомянуть страницу, где дан в соответствующей теме скрипт. Можно было связаться с модератором через ЛС и заранее решить проблему. Но уж никак не то, что было сделано!
Ссылка на скрипт дана в приличном виде.
Добавлено: Вт фев 28, 2012 13:58
Альваро
Flasher, когда писал звездочки я имел в виду что написаное имя Файл1 может быть конечным, или файл1(new), заместо нью может быть любой коментарий к файлу, или же оба сразу в разных папках диска. Моя задача отличается от задачи решеной Batya, тем что неизвостно точное имя и местоположение, а только начало названия.