Страница 2 из 3
Добавлено: Вс авг 15, 2010 18:42
KarS
gora
Действительно, нет мелькания! Ура!
Спасибо!
Однако, в рамках этой же темы возник ещё вопрос.
Всё выше указанное, относящееся к работе cmd, решало задачу перемещения файла,
находящегося под курсором.
В случае, если
выделено несколько файлов, то такой сценарий не подойдёт.
Можно ли, что-нибудь поправить, чтобы расширить функциональность приёма "Send To"?
Добавлено: Вс авг 15, 2010 18:53
Flasher
KarS писал(а):Кто бы ещё помог со скриптом (vbs
Я что-то не пойму, чем предложенный мной вариант не устроил? Как раз для выделенных файлов.
И Хелпер спецом писался под ТС и используется в большинстве скриптов на форуме.
Добавлено: Вс авг 15, 2010 19:06
GGS
KarS писал(а):если выделено несколько файлов
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c
FOR /F "delims=" %%A IN ('type %WL') do copy "%%A" C:\test\
Wcmicons.dll,63
Копирование выделенных файлов в C:\test\
1
-1
Добавлено: Вс авг 15, 2010 19:06
KarS
Flasher
Спасибо за разъяснения. Попытаюсь объяснить своё видение.
1. Опасаюсь устанавливать на системе много программ, чтобы система работала более стабильно.
2. Чем больше программ, тем больше голова начинает болеть, у каждой свой язык, свои тонкости.
3. Учитывая, что работаю не нескольких компьютерах (дома десктоп и ноут, + на работе), то придётся копировать и настраивать среду последовательно на каждом из них.
Поэтому стремлюсь к минимализму.
А Хелпер, как я понимаю, как плагин. И делает то же, что и стандартный WSH, с которым работает стандартный VBScript. Так может, кто-то специализируется на стандартных возможностях VBScript?
Добавлено: Вс авг 15, 2010 19:15
KarS
GGS
Не знаю как, но всё получилось: и с copy, и с move, и один файл, и несколько!!!
Красота!
Спасибо, замечательный totalcmd и замечательный форум!

Добавлено: Вс авг 15, 2010 19:43
Flasher
KarS
1. А в ТС сколько у Вас плагинов, скажем? Надо думать ни одного. От Хелпера ещё ни у кого система медленней работать не стала. Или у Вас 386 ?

2-3. Положил в дистрибутив ТС, запустил exe-шник по разу с каждой машины и забыл.
Стремление к минимализму тут необоснованно и воспринимается как излишняя паранойя. Распакованный дистрибутив весит 47 Kb.
Рассказывать Вам, допустим, про PowerPro. nircmd, nncron и т.п. вообще не имеет смысла на данном этапе. Понимание придет с развитием.
KarS писал(а):Так может, кто-то специализируется на стандартных возможностях VBScript?
Скрипт делал
Batya, лучше него и
Volniy тут никто не сделает. Кое-что заменить в скрипте можно, но поскольку задача решена иначе, не вижу смысла тратить на это время.
Добавлено: Пн авг 16, 2010 17:18
KarS
Flasher
Спасибо за разъяснение.
GGS
Предложенное решение замечательно, но работает оно лишь для файлов.
Что можно подправить, чтобы вышеуказанные действия можно было делать и с каталогами?
Добавлено: Пн окт 18, 2010 17:28
KarS
Установил у себя
Script Helper ActiveX for TC beta12, привязал к кнопке totalcmd v.7.55 скрипт, указанный выше от
Batya http://forum.wincmd.ru/viewpost.php?p=39119, в окне параметра указал путь по-умолчанию и запустил.
Скрипт выдал ошибку
Код: Выделить всё
Сценарий: С:\Program Files\totalcmd\Plugins\exe\tcwshelp_b12\CopyFolder.vbs
Строка: 42
Символ: 1
Ошибка: Не удается найти указанный файл.
Код: 80070002
Источник: (null)
В чём может быть дело?
И ещё один вопрос: что нужно поправить в указанном скрипте, чтобы он выполнял перемещение, а не копирование? Просто хочу сделать две кнопки - одна на копирование, другая - на перемещение выделенных
файлов и
папок в папку по-умолчанию.
Добавлено: Пн окт 18, 2010 18:47
Batya
KarS
Ошибка в моём скрипте - не учёл, что путь к TC может содержать пробелы.
Вместо строки
Код: Выделить всё
WSH.Run TC & " /o /s /r=""" & SaveDir & """", 7, True
пишем
Код: Выделить всё
WSH.Run """" & TC & """ /o /s /r=""" & SaveDir & """", 7, True
KarS писал(а):И ещё один вопрос: что нужно поправить в указанном скрипте, чтобы он выполнял перемещение, а не копирование?
Вместо строки
пишем
Добавлено: Вт окт 19, 2010 08:51
KarS
Batya
Спасибо за внимание к этому вопросу.
Исправление внёс (заменил указанный выше код WSH.Run TC... в двух местах скрипта), но не сработало:
1. файл под курсором скопировался не в папку, указанную в параметрах, а в папку, расположенную в панели напротив.
2. в отношении скрипта по перемещению: заменил в 47 строке "cm_MoveOnly". При проверке скрипт скопировал надлежащий переносу файл в папку, расположенную в панели напротив, а не в ту, что назначена. И не удалил исходную копию.
Добавлено: Вт окт 19, 2010 09:50
Batya
KarS писал(а):не в папку, указанную в параметрах, а в папку, расположенную в панели напротив
Путь к папке содержит пробелы? В параметрах путь стоит в кавычках?
KarS писал(а):заменил в 47 строке "cm_MoveOnly". При проверке скрипт скопировал надлежащий переносу файл
А вот это уж совсем невозможно.
Единственное, что может быть - эти файлы удерживаются какой-то программой и TC по невозможности их перенести, просто копирует.
Если вручную пытаться переместить файлы по F6 -> F2, что происходит?
Добавлено: Вт окт 19, 2010 17:14
KarS
Путь к папке содержит пробелы? В параметрах путь стоит в кавычках?
Путь без пробелов: C:\TempM\. Попробовал даже поставить в кавычки "C:\TempM\" - всё равно копируется в противоположную панель, а не в папку по-умолчанию.
Если вручную пытаться переместить файлы по F6 -> F2, что происходит?
Файл как и положено перемещается.
Может проблемы из-за особенностей работы новых
Script Helper ActiveX for TC beta12 и
totalcmd v.7.55?
Система у меня WinXP Pro SP3 rus. В фоне среди прочих постоянно работают nncron, ahk, менеджер буфера - clcl.
Добавлено: Вт окт 19, 2010 18:19
Batya
KarS
Для проверки добавь перед строкой
Код: Выделить всё
' Открываем в противоположной папке TC целевую папку
строку
Код: Выделить всё
MsgBox """" & TC & """ /o /s /r=""" & TargetDir & """"
Что выдаёт? Скопируй текст сообщения (Ctrl+C в диалоговом окне); вставь в текстовый редактор; скопируй только строку сообщения; вставь в командную строку TC; выполни. Текущий каталог поменялся?
KarS писал(а):заменил в 47 строке "cm_MoveOnly". При проверке скрипт скопировал
KarS писал(а):Если вручную пытаться переместить файлы по F6 -> F2, что происходит?
Файл как и положено перемещается.
Я подозреваю, что ты запускаешь не тот скрипт, что исправляешь.
Добавлено: Вт окт 19, 2010 18:28
KarS
Выполнил, всё, что предписали... Каталог поменялся на желаемый "C:\TempM\"
Добавлено: Вт окт 19, 2010 23:23
Batya
KarS
Хм... Значит, всё-таки, работает. Но тогда непонятны причины ошибочного поведения.
Попробуй в следующем куске кода
Код: Выделить всё
' Открываем в противоположной папке TC целевую папку
WSH.Run TC & " /o /s /r=""" & TargetDir & """", 7, True
' Небольшая пауза
WScript.Sleep 100
поменять 100 на бОльшее значение. Начни с заведомо очень большого - 5000 (5 секунд). Если так будет работать, можно экспериментальным путём уменьшать.
А вот причину копирования вместо перемещения я даже предположить не могу.