Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Кнопка копирования выделенных файлов в папку с тем же именем 
Author Message
Flasher



PostPosted: Tue Oct 11, 2011 15:35    Post subject: Reply with quote

cojoc wrote:
или это проблема совсем другого порядка?
Ещё бы. И причин тому несколько.
1. Копировать и скачивать - это не совсем одно и то же.
2. Ftp всегда требует логин и пароль для соединения с сервером.
3. %P и %L не способны возвращать доменное имя и протокол. Здесь может помочь использование FTPDrive. Но даже после подключения всё равно придётся читать сетевое имя диска. Вот то, что я давал недавно в личку, прикрутить можно.

Можно попробовать пока такой вариант (на аноним):
Code:
' Копировать в другую панель
' выделенное в папку с именем активного каталога
' Параметр: "%T"
'=========== Путь к TCMC ====================
TCMC = "%COMMANDER_PATH%\Utils\TCMC\TCMC.exe"
'============================================
With CreateObject("WScript.Shell")
  .Exec(TCMC & " CM2029")
  P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
  A = .RegRead(P)
  If A > 0 Then .RegWrite P, 0, "REG_DWORD"
  CD = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
  .Exec(TCMC & " CM2021")
  SelP = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
  If A > 0 Then .RegWrite P, A, "REG_DWORD"
End With

With CreateObject("Scripting.FileSystemObject")
  Trg = WScript.Arguments(0) & .GetFileName(CD) & "\"
  If Not .FolderExists(Trg) Then .CreateFolder Trg
  For Each F in Split(SelP, vbNewLine)
    If F > vbNullString Then
      If Left(F, 6) = "ftp://"  Then F = "ftp://anonymous@" & Mid(F, 7)
      CreateObject("Shell.Application").NameSpace(Trg).CopyHere F, 8
    End If
  Next
End With

Если не будет работать, поправлю один из скриптов, что отсылал.

Можно, ещё, в принципе, средствами TC (не знаю, устроит ли):
Code:
' Копировать в другую панель
' выделенное в папку с именем активного каталога
' Параметры: "%T" "%P"
'=========== Путь к TCMC ====================
TCMC = "%COMMANDER_PATH%\Utils\TCMC\TCMC.exe"
'============================================
With CreateObject("Scripting.FileSystemObject")
  Trg = WScript.Arguments(0) & .GetFileName(WScript.Arguments(1)) & "\"
  If Not .FolderExists(Trg) Then .CreateFolder Trg
End With

With CreateObject("WScript.Shell")
  P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
  A = .RegRead(P)
  If A > 0 Then .RegWrite P, 0, "REG_DWORD"
  With CreateObject("InternetExplorer.Application")
    .Navigate("about:blank")
    .document.ParentWindow.ClipboardData.SetData("text"), Trg
  End With
  If A > 0 Then .RegWrite P, A, "REG_DWORD"
  .Exec(TCMC & " CM3101")
  .SendKeys"^{V}{ENTER}"
End With
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group