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: Windows Script Host 
Author Message
Volniy



PostPosted: Sat Mar 27, 2010 02:43    Post subject: Reply with quote

Причина выделения нестабильного количества файлов очевидна. В начале скрипта есть команда выделения всех файлов и она не всегда успевает выполнится до начала исполнения следующей команды. А значит скрипт работает с меньшим кол-вом файлов. Решается просто:
Code:
TCS.SendCommand "cm_SelectAll", True


Что касается "невыделения" файлов с русскими именами, то это косяк с русским юникодом. Пока не знаю, что с этим делать. Возможно, поможет классика - редактирование реестра, вроде вот оно:
Code:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1252"="c_1251.nls"
только я сам пробовать не стал, меня этот патч не устраивает по многим причинам.

Что касается BranchView, так там действительно дело в относительных путях. Решаемо:
Code:
' File:         ZebraMark-3.vbs
' Description:  Помечает все файлы и каталоги через один
' What's new:   Работает в BranchView
' Requirements: WSH Helper for TC by Volniy
' Copyright:    (c) 2010, Volniy

Option Explicit
Dim List, TCS, Cnt, Buf, CurDir
Set TCS = CreateObject("TCScript.Helper")

TCS.SendCommand "cm_SelectAll", True  'Выбрать всё
CurDir = TCS.GetSrcPath
TCS.SendCommand "cm_CopyFullNamesToClip", True
List = Split(TCS.GetTextFromClip,vbNewLine)

For Cnt=LBound(List) To UBound(List)
  If Cnt Mod 2 = 1 Then
     Buf = Buf & Mid(List(Cnt), Len(CurDir) +2) & vbNewLine
  End If
Next
TCS.SetTextToClip CStr(Buf)
TCS.SendCommand "cm_LoadSelectionFromClip", True
TCS.GetSrcSelectedFiles

MsgBox "Выделено ""зеброй"": " & (UBound(TCS.GetSrcSelectedFiles) +1) & _
       " файлов/каталогов." , vbInformation, "Завершено!"
Set TCS = Nothing
WScript.Quit


Last edited by Volniy on Sat Mar 27, 2010 14:21; edited 2 times in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group