Наверное, мы о разном. Я имел ввиду не счётчик в маске, а ситуацию, когда при переименовании получается уже существующее имя файла и скрипт "вылетает". В этом случае я предлагал дописывать к имени _2, или _3 и т.д., пока переименование не станет возможным.Batya писал(а):Сделал, только пока не выкладывал:
CC[n] - счётчик, где n - минимальное кол-во цифр счётчика
Script Request
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
laburj
Код: Выделить всё
'Открыть активную папку в новой вкладке в Back2Life
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True
TCS.SendCommand "cm_CopySrcPathToClip"
TCS.SendCommand "cm_OpenNewTab"
TCS.SendCommand "cm_FocusCmdLine"
TCS.SendKeystroke "cd \\\Back2life\" & TCS.GetTextFromClip
TCS.SendKeystroke "{ENTER}"
TCS.ClearClip
Set TCS = Nothing
Wscript.Quit
Последний раз редактировалось Flasher Вс июн 06, 2010 02:44, всего редактировалось 1 раз.
Batya, а нет ли у тебя идей как лучше реализовать эту задачу?
laburj
Задача довольно простая, и без участия Хелпера с ТС-шными командами лучше вряд ли что-либо можно придумать, поэтому максимум, что стоило бы добавить в скрипте - это переключение на англ. раскладку перед прописью в комстроке cd..: после TCS.SendCommand "cm_FocusCmdLine" добавь следующей строкойА почему Хелпер у тебя не так работает с буфером при использовании GetTextFromClip, я понятия не имею, с этим лучше обратиться к автору (Volniy).
Задача довольно простая, и без участия Хелпера с ТС-шными командами лучше вряд ли что-либо можно придумать, поэтому максимум, что стоило бы добавить в скрипте - это переключение на англ. раскладку перед прописью в комстроке cd..: после TCS.SendCommand "cm_FocusCmdLine" добавь следующей строкой
Код: Выделить всё
TCS.SendKeystroke "^+1" 'В доп. параметрах клав-ы переключатель на англ. раскладку назначить на Ctrl+Shift+1Достаточно простой кнопки:laburj писал(а):Batya, а нет ли у тебя идей как лучше реализовать эту задачу?
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TOTALCMD.EXE /S /O /T
/L="\\\Back2life\%P"
%COMMANDER_PATH%\TOTALCMD.EXE
Перейти в Back2Life
-1
Последний раз редактировалось Batya Пн июл 12, 2010 14:22, всего редактировалось 1 раз.
Нет, я не сплю. Я просто медленно моргаю.
Подскажите пожалуйста...
По форуму много вариаций автоматического копирования(только файлов, только папок, только выделенных файлов и т.д.), а мне нужен скрипт, копирующий ВСЁ что выделено в тотале(и папки и файлы) с сохранением структуры подпапок и файлов в этих подпапках, в заданный каталог(нужно последний сделать аргументом - что бы при необходимости я бы мог изменить его). При этом копирование желательно средством TC, и жедательно что-бы копирование само ставилось в очередь(что-бы не дожидаясь окончания копирования я бы мог использовать скрипт ещё раз). И ещё, что бы в случае совпадения имён папок и файлов, происходило бы автоматическое переименование(например с добавлением какого нибудь - "запараметренного" символа) Большое спасибо.
По форуму много вариаций автоматического копирования(только файлов, только папок, только выделенных файлов и т.д.), а мне нужен скрипт, копирующий ВСЁ что выделено в тотале(и папки и файлы) с сохранением структуры подпапок и файлов в этих подпапках, в заданный каталог(нужно последний сделать аргументом - что бы при необходимости я бы мог изменить его). При этом копирование желательно средством TC, и жедательно что-бы копирование само ставилось в очередь(что-бы не дожидаясь окончания копирования я бы мог использовать скрипт ещё раз). И ещё, что бы в случае совпадения имён папок и файлов, происходило бы автоматическое переименование(например с добавлением какого нибудь - "запараметренного" символа) Большое спасибо.
taravasya писал(а):нужен скрипт, копирующий ВСЁ что выделено в тотале(и папки и файлы) с сохранением структуры подпапок и файлов в этих подпапках, в заданный каталог. .. При этом копирование желательно средством TC .. И ещё, что бы в случае совпадения имён папок и файлов, происходило бы автоматическое переименование
Код: Выделить всё
'Копировать выделенное с переименованием одинаковых имён по счётчику
'=====================================================
'Условия:
'1. Ключ в файле конфигурации AlwaysCopyInBackground=1
'2. Параметры: "<Путь назначения>"
'=====================================================
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
If WScript.Arguments.Count = 0 Then
MsgBox "Не заданы параметры!", vbOKOnly + vbCritical, "Копирование"
WScript.Quit
End If
TCS.LockTC True
With CreateObject("WScript.Shell") .Run """" & TCS.TCPath & "\totalcmd.exe"" /S /O /R=""" & WScript.Arguments(0) & """" End With
TCS.Sleep 400
TCS.SendCommand "cm_CopyOtherpanel"
TCS.SendKeystroke "+{TAB}{SPACE}{DOWN 4}{ENTER}"
TCS.Sleep 200
TCS.SendKeystroke "{TAB}
TCS.SendCommand "cm_GotoPreviousDir"
TCS.SendKeystroke "{TAB}"
TCS.LockTC False
Set TCS = Nothing
WScript.QuitДля этого всё-таки лучше диспетчер фоновой пересылки использовать.taravasya писал(а):жедательно что-бы копирование само ставилось в очередь
Если копирование задать по умолчанию в фоне, то с этим по идее проблем не должно возникнуть.taravasya писал(а):что-бы не дожидаясь окончания копирования я бы мог использовать скрипт ещё раз