Script Request

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Batya писал(а):Но это можно сделать и с помощью TC. Для этого надо установить способ копирования проводником.
А надо ли переключать? Скопируй файл html (Ctrl-Insert) и затем вставь его в новую папку (Shift-Insert). Для перемещения, соотвественно, в первом действии используй Shift-Delete. Можно также использовать и соответствующие команды из контекстного меню html файла.
Аватара пользователя
Zorroz
Сообщения: 308
Зарегистрирован: Чт дек 16, 2004 10:40
Откуда: Россия, Иркутская обл., г. Ангарск

Сообщение Zorroz »

Batya
Скрипт не работает. Копируются только файл, папки не копируются. А скрипт для перемещения можно.
Volniy
Спасибо за кнопки. Но вот при перемещении не удалятся папка.
Когда ангелу обрезают крылья, он учится летать на метле...
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Zorroz писал(а):Скрипт не работает. Копируются только файл, папки не копируются.
А у тебя текущий каталог ("Путь запуска") для кнопки (команды) пустой?
Zorroz писал(а):А скрипт для перемещения можно.

Код: Выделить всё

'==========================================================================
' Перемещение выделенных файлов с соответствующими им (для *.html) папками
'
' Параметры вызова из TC:
' %L "%T"
'==========================================================================

Dim FSO, Fld, OTF, Rln
Set FSO = CreateObject("Scripting.FileSystemObject")
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1)

Do While Not OTF.AtEndOfStream
  Rln = OTF.ReadLine
  If FSO.FileExists(Rln) Then
    FSO.MoveFile Rln, WScript.Arguments(1)
    Fld = FSO.GetBaseName(Rln) & "_files"
    If FSO.FolderExists(Fld) Then
      FSO.MoveFolder Fld, WScript.Arguments(1)
    End If
  ElseIf FSO.FolderExists(Rln) Then
    FSO.MoveFolder Rln, WScript.Arguments(1)
  End If
Loop

Set OTF = Nothing
Set FSO = Nothing
WScript.Quit
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Zorroz писал(а):Volniy
Но вот при перемещении не удалятся папка.
Тут претензии могут быть только а Проводнику. Он, конечно, ведет себя нелогично в этом случае. По логике: раз уж копируешь папку без спросу, ну тогда и перемещай ее тоже.
Аватара пользователя
Zorroz
Сообщения: 308
Зарегистрирован: Чт дек 16, 2004 10:40
Откуда: Россия, Иркутская обл., г. Ангарск

Сообщение Zorroz »

Batya
Путь запуска поправил.(удалил) Теперь все работает. Осталось только придумать на какие клавиши это повесить.
Volniy
Понятно. Проводник, что с него возьмешь :) .
Когда ангелу обрезают крылья, он учится летать на метле...
Аватара пользователя
funduk
Сообщения: 1515
Зарегистрирован: Вт авг 16, 2005 16:00
Откуда: Санкт-Петербург

Сообщение funduk »

Batya писал(а):Кстати, может по этому поводу кто-нибудь запостит реквест Гислеру - сделать отдельную команду (типа cm_Copy) для копирования проводником (чтобы не переключать при необходимости режимы копирования)?
Просили неоднократно. Пофиг ему.
Аватара пользователя
alk0v
Сообщения: 5
Зарегистрирован: Вт янв 31, 2006 15:15
Откуда: Харьков, Украина

Сообщение alk0v »

Есть диск с огромным количеством мелких файлов, диск сильно царапанный и копируется с него не все, при ошибке выскакивает окно с кнопками "попустить" и "отмена", а с диска хочется скопировать хотя бы то, что осталось, как автоматизировать нажатие кнопки "пропустить" или может есть другое решение этой проблемы?
Аватара пользователя
funduk
Сообщения: 1515
Зарегистрирован: Вт авг 16, 2005 16:00
Откуда: Санкт-Петербург

Сообщение funduk »

2alk0v
http://forum.wincmd.ru/viewtopic.php?t=6001
Может помочь...

OT: ой, что-то милое и знакомое в аватаре вижу =))
Lamer
Сообщения: 522
Зарегистрирован: Пн мар 20, 2006 03:55

Сообщение Lamer »

А еще может помочь сторонняя прога NSCopy(вроде как nonstopable copy расшифровывается).Она free & rulezz.
LA_
Сообщения: 31
Зарегистрирован: Чт дек 07, 2006 09:21

Сообщение LA_ »

есть задача:
1) имеется список имен файлов в текстовом файле, одна строка - один файл, все имена в определенном формате, данный формат задается пользователем, например, "%l4 - %l1 - %l2.mp3", где, например, %l1 исполнитель, %l2 - композиция, %l4 - трек
2) имеется набор файлов в той же папке, где и текстовый файл, все имена этих файлов также в определенном формате, заданном пользователем, например, "track %f4 %f#.mp3", где, например, %f1 исполнитель, %f2 - композиция, %f4 - трек, %f# - любые символы
3) задано, например, что файл в списке соответствует реальному файлу, если %l4=%f4 (это условие может меняться пользователем)
4) необходимо смэтчить реальные файлы с файлами в списке и переименовать файлы в соответствии с заданным пользователем отдельно шаблоном, например, "%l4_-_f1_-some_text.mp3"

напишите плз скрипт для выполнения данной задачи!
наверняка, придется задействовать регулярные выражения для этой задачи...
LA_
Сообщения: 31
Зарегистрирован: Чт дек 07, 2006 09:21

Сообщение LA_ »

хм, неужели никто не может написать? уже начал писать сам, но столкнулся с тем, что для выполнения задачи необходимо использование регулярных выражений и для поиска соответствий необходимо заменить все выражения типа %l или %f на (.*), но чтобы потом получить и использовать значения (порядок которых может быть произвольным), надо как-то запоминать в какой позиции (.*) оказалось.
помогло бы использование конструкции (?P<name>.*), но VBScript её не поддерживает...
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Написать-то можно.
Но уж слишком объемно поставлена задача. Париться придеться очень долго.
Может не обязательно настолько широко ставить задачу?
Нет, я не сплю. Я просто медленно моргаю.
Worros
Сообщения: 1123
Зарегистрирован: Пт янв 19, 2007 18:46

Сообщение Worros »

Нужен скрипт, вводящий %commander_path% при нажатии хоткея, или при вводе алиаса.Поясняю ситуацию : часто кнопки создаются наспех драгндропом приложения в баттонбар Тотала,путь к приложению при этом прописывается абсолютный, и очень муторно потом ручками подправлять его,вводя переменные окружения. Хотелось бы ускорить. Заранее спасибо. :)
педофилия, каннибализм, бетономешалка !!!
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Worros
Есть множество программ, позволяющих вставлять варианты текста по горячей клавише, например, мной очень любимый Tray Commander (кстати, бесплатный для xUSSR), у которого сокращение тоже TC :)
Worros
Сообщения: 1123
Зарегистрирован: Пт янв 19, 2007 18:46

Сообщение Worros »

Спасибо, буду разбираться.
Ответить