Создание папки и перемещение туда выделенных файлов
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Создание папки и перемещение туда выделенных файлов Author: AlexBiggest PostPosted: Sat Apr 19, 2014 05:46
    —
Как выполнить следующую задачу:

1. В одной панели выделяем несколько файлов или ставим курсор на один файл.

2. Жмем комбинацию клавиш Ctrl-F7.

3. В другой панели создается папка с заранее заданным в скрипте именем и происходит вход в нее. Если такая папка уже есть, то сразу осуществляется вход в нее.

Если имя папки заранее не задавано в скрипте, то запрашивается ее имя.

4. Выделенные файлы (или файл, на котором стоит курсор) перемещаются в эту папку.

Надеюсь на вашу помощь.

#2:  Author: FlasherLocation: Москва PostPosted: Sat Apr 19, 2014 14:25
    —
В этом скрипте
Code:
  List = .Item(0) : Path = .Item(1) : If C = 3 Then Jump = .Item(2)
меняем на
Code:
  List = .Item(0) : Path = .Item(1) : Folder = .Item(2)
  If C = 4 Then Jump = .Item(3)

и
Code:
M = Month(Date) : If Len(M) = 1 Then M = "0" & M
D = Day(Date)   : If Len(D) = 1 Then D = "0" & D
Targ = Path & Year(Date) & "." & M & "." & D & "\"
на
Code:
If Folder = "" Then
  L = vbNewLine
  Folder = InputBox(L&L&L&L&"Введите имя папки, " &_
  L & "куда переместится выбранное:",_
  "      Перемещение элементов в назначенный каталог")
  If Trim(Folder) = "" Then Wscript.Quit
End If : Targ = Path & Folder & "\"
Параметры в итоге такие: %WL "<путь_получателя\>" "<имя папки>" <переход в папку: 1>

#3:  Author: AlexBiggest PostPosted: Sat Apr 19, 2014 16:31
    —
Flasher wrote:
В этом скрипте
Код:

List = .Item(0) : Path = .Item(1) : If C = 3 Then Jump = .Item(2)

меняем на



Спасибо за быстрый ответ! Все работает просто шикарно, если ввести в параметрах путь, куда надо все перемещать. Т.е. если надо переместить в папку МОЯПАПКА указываем параметр так:

%WL "%T" МОЯПАПКА

НО! Если я хочу, чтобы путь у меня запрашивался, я вроде должен убрать МОЯПАПКА, т.е. вставляю:

%WL "%T"


В таком варианте у меня не запрашивается путь, куда все перемещать, а выдает ошибку:

Windows Script Host:

Script: C:\2\move.vbs
Line: 9
Char: 39
Error: Subscript out of range
Code: 800A0009
Source: Microsoft VBScript runtime error


Как устранить?

#4:  Author: FlasherLocation: Москва PostPosted: Sat Apr 19, 2014 17:08
    —
Нет, должно быть так: %WL "%T" "" 1
Хотя можно и как предложено, только нужно красное в 9 строке добавить: : If C = 3 Then Folder = .Item(2)

#5:  Author: AlexBiggest PostPosted: Sat Apr 19, 2014 17:40
    —
Flasher wrote:
Нет, должно быть так


Отлично! Теперь все работает как надо. Спасибо!

#6:  Author: sa PostPosted: Sun Apr 20, 2014 21:31
    —
Кнопка для версий TC 8.5 и выше с использованием утилиты TCFS2:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "tcm(906,1) delay(200)
send(`^{home}~(ИМЯ)\{LEFT}`, findwnd(`TInpComboDlg`))"
%COMMANDER_PATH%\Totalcmd.exe,17
Переместить в папку ИМЯ в другой панели


-1
Если имя папки не надо запрашивать или дополнять, то для ускорения можно добавить {ENTER} после {LEFT}.

#7:  Author: FlasherLocation: Москва PostPosted: Sun Apr 20, 2014 23:05
    —
sa
П. 3 куда в твоей кнопке делся?

#8:  Author: sa PostPosted: Sun Apr 20, 2014 23:30
    —
Flasher
Ты про то, что в созданную папку нужно в итоге не только переместить файлы, но и непременно открыть её в другой панели? Я как-то этот момент не прочувствовал. Действительно это требуется AlexBiggest?

#9:  Author: FlasherLocation: Москва PostPosted: Sun Apr 20, 2014 23:56
    —
sa wrote:
Действительно это требуется AlexBiggest?
Если в задаче стоит, то почему нет? Тем более с учётом реакции:
AlexBiggest wrote:
Теперь все работает как надо.

#10:  Author: sa PostPosted: Mon Apr 21, 2014 00:20
    —
Я бы всё-таки уточнил поставленную задачу. В п.3 скорее описывается алгоритм, который бы использовал автор. Тем более, то, что указано в последнем пункте задания не очень сочетается с твоим итоговым переходом в созданную папку:
Quote:
4. Выделенные файлы (или файл, на котором стоит курсор) перемещаются в эту папку.
То есть курсор по идее остаётся в исходной панели.

#11:  Author: FlasherLocation: Москва PostPosted: Mon Apr 21, 2014 00:56
    —
sa wrote:
Я бы всё-таки уточнил поставленную задачу.
Т.е. приведённого ответа недостаточно?
sa wrote:
То есть курсор по идее остаётся в исходной панели.
На момент запуска курсор и стоит на выбранных файлах. Не вижу тут нестыковки. Переименуй на "стоял", суть не изменится.

#12:  Author: sa PostPosted: Mon Apr 21, 2014 08:24
    —
Flasher wrote:
Переименуй на "стоял", суть не изменится.

Переместить файлы к себе – как-то это не по тоталовски.

#13:  Author: FlasherLocation: Москва PostPosted: Mon Apr 21, 2014 11:09
    —
sa wrote:
Переместить файлы к себе
Не догадываюсь, о чём ты.

#14:  Author: sa PostPosted: Mon Apr 21, 2014 11:55
    —
Зачем копья-то ломать: ты понял задачу по-своему, я по-своему.

#15:  Author: FlasherLocation: Москва PostPosted: Mon Apr 21, 2014 13:25
    —
Важно, что я понял её так, как хотел автор запроса.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2, 3  Next  :| |:
Page 1 of 3

Powered by phpBB © 2001, 2005 phpBB Group