View previous topic :: View next topic |
Author |
Message |
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Mar 08, 2010 03:03 Post subject: |
|
|
Flasher wrote: | Хотя смысл в затирании "Text1 & " выглядит логичным. | Логичным, но неправильным.
Опечатался - надо оставить "Text1". Поправил пост выше. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 08, 2010 03:12 Post subject: |
|
|
Batya wrote: | Опечатался - надо оставить "Text1". Поправил пост выше. | Вот другое дело! Но всё-таки, извини, Batya, сейчас наверно совсем буду придирчивым: а можно как-то изменить скрипт, чтобы сортировка в Ирфане сопоставлялась с сортировкой в Тотале, а то если в Ирфане, например, стоит по-умолчанию "сортировать файлы по имени", а в Тотале как-то иначе, то правило добавлять в список только файлы, взятые из ТС от подкурсорного до последнего в панели и в заданной последовательности не соблюдается. Хотя, смею предположить, оно в скрипте и не задано. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Mar 08, 2010 14:29 Post subject: |
|
|
Flasher wrote: | а можно как-то изменить скрипт, чтобы сортировка в Ирфане сопоставлялась с сортировкой в Тотале | В принципе, конечно, можно. Но нужно поковыряться, используя TCScript.Helper. Попробую в ближайшее время сделать. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Tue Mar 09, 2010 00:36 Post subject: |
|
|
Flasher wrote: | а можно как-то изменить скрипт, чтобы сортировка в Ирфане сопоставлялась с сортировкой в Тотале |
Готово: Code: | '==========================================================================
' Выполнение команды с указанием файла-списка, содержащего все файлы,
' заданных расширений, начиная с указанного
'
' Параметры:
' {первый файл файла-списка}
'
' Пример параметров при вызове из TC:
' %P%N
'
' Автор - Batya
'==========================================================================
Option Explicit
'======== Изменяемые параметры ============================================
' Начало команды (до файла-списка)
Const Start = """%ProgramFiles%\IrfanView\i_view32.exe"" /fs /bf /closeslideshow /slideshow="
' Окончание команды
Const Finish = ""
' Файл-список
Const List = "%Temp%\%Random%.txt"
' Удалять ли файл-список после выполнения команды
Const ListDel = True
' Расширения файлов для файла-списка
Dim EXT
Set EXT = CreateObject("Scripting.Dictionary")
EXT.Add "jpg", ""
EXT.Add "bmp", ""
EXT.Add "gif", ""
EXT.Add "jpeg", ""
'==========================================================================
Dim FSO, WSH, TCS, Folder, First, F, Find, L, Command, Text1, Text2
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Set TCS = CreateObject("TCScript.Helper")
Randomize
First = GetPath(WScript.Arguments(0))
Folder = FSO.GetParentFolderName(First)
L = GetPath(Replace(List, "%Random%", CStr(Int(Rnd*10^8)), 1, -1, 1))
Command = GetPath(Start) & """" & L & """" & GetPath(Finish)
TCS.SendCommand "cm_SelectAllFiles"
Find = False
For Each F In TCS.GetSrcSelectedFiles()
F = Folder & "\" & F
If EXT.Exists(LCase(FSO.GetExtensionName(F))) Then
If LCase(First) = LCase(F) Then Find = True
If Find Then
Text1 = Text1 & F & vbNewLine
Else
Text2 = Text2 & F & vbNewLine
End If
End If
Next
TCS.SendCommand "cm_ClearAll"
FSO.CreateTextFile(L, True).Write Text1 & Text2
'FSO.CreateTextFile(L, True).Write Text1
WSH.Run Command, 1, ListDel
If ListDel Then FSO.DeleteFile L
Set TCS = Nothing
Set EXT = Nothing
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit 0
Function GetPath(pPath)
GetPath = WSH.ExpandEnvironmentStrings(pPath)
End Function |
Используется "TCScript.Helper", поэтому не изменил пост со скриптом выше, а добавил новый - кому интересно, выбирайте какой вариант больше нравится.
Flasher
Чтобы не учитывать предыдущие файлы, думаю, знаешь, где убрать\поставить комментарий _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 09, 2010 12:09 Post subject: |
|
|
Примного благодарен за выполненную работу!
Но.. толи у меня руки растут не оттуда, толи у меня с годами мозг атрофировался, толи ещё чего. Объясни, если сможешь. Когда я захожу в папку с путём, где присутствует каталог типа "Мои документы", "Мои рисунки", "My Documents"(остальные с системными названиями не проверял), то по нажатию появляется пустое окно Ирфана, но происходит это только когда я выполняю скрипт из Тотала(пробывал разные), установленном на systemdisk(то бишь С:\), при запуске же из ТС с флешки(у меня F:\) всё работает как часы. Перезапускаю комп, иду в другую винду(аналог, D:\), вызываю ТС с этого харда, вообщем-то по сути тоже systemdisk. И что? Работает отовсюду!! "Интересная" история..
Как говорил один из следователей "Колобков": -"Нитего не понимаю!" |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Tue Mar 09, 2010 12:33 Post subject: |
|
|
Возможны две причины:
1. Все перечисленные тобой директории содержат пробел. Поиграйся с "лишними" кавычками вокруг пути и/или имени файла;
2. Все перечисленные тобой директории - "родные" директории винды. Разные программы могут с ними работать некорректно (например, известно, что Тотал "странно" работает с Рабочим столом).
Выяснить просто. Создай директорию "c:\With Spaces\" и попробуй там. Если все пучком, значит, вторая причина. Если нет, значит первая. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 09, 2010 14:08 Post subject: |
|
|
Вахмурка
Спасибо за подключение. Я обнаружил проблему. Как и предполагалось, состоящую в моей криворукости. Сначала казалось проблема была с %P%N в Тоталах с C:\, добавил кавычки к параметрам в кнопках, потом вспомнил, что недавно менял кодировку файлов русских файлов ТС на UTF8, поменял обратно на ANSI, но кавычки в параметрах убрать забыл. А на той винде кнопку скопировал с флешечного Тотала, где кавычек не было, вот там всё и работало.
Ещё поковыряюсь с юникодностью, если сам не найду решение, доложу.
По поводу: Вахмурка wrote: | 2. Все перечисленные тобой директории - "родные" директории винды. | Они не родные, просто названия аналогичные.
Да, вопросик. В справке пишут, что %P%S при пробелах сам добавляет кавычки. Правильно ли думать, что в случае с %P%N происходит тоже самое? Где-то в "Кнопках" Captain Flint писал как можно это проверить с команды. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Mar 09, 2010 14:56 Post subject: |
|
|
Flasher wrote: | В справке пишут, что %P%S при пробелах сам добавляет кавычки. Правильно ли думать, что в случае с %P%N происходит тоже самое? | Да.
Кнопка-шпаргалка:
Code: | TOTALCMD#BAR#DATA
%comspec% /k echo Wrong: &
echo "%%N" = "%N" &echo "%%P%%N" = "%P%N" &echo "%%M" = "%M" &echo "%%T%%M" = "%T%M" &echo "%%S" = "%S" &echo "%%P%%S" = "%P%S" &echo. &echo Right: &echo %%N = %N &echo %%P%%N = %P%N &echo %%M = %M &echo %%T%%M = %T%M &echo %%S = %S &echo %%P%%S = %P%S
WCMICONS.DLL,55
Кавычки у имён с пробелами
-1
|
Три пробела перед = — это символ табуляции
Last edited by Tol!k on Tue Mar 09, 2010 15:10; edited 1 time in total |
|
Back to top |
|
|
Rodny
Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
(Separately) Posted: Tue Mar 09, 2010 15:06 Post subject: |
|
|
Quote: | Где-то в "Кнопках" Captain Flint писал как можно это проверить с команды |
Программулька ShowCmdLine покажет переданные параметры. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 09, 2010 15:15 Post subject: |
|
|
Tol!k wrote: | Кнопка-шпаргалка: | Оперативненько). Благодарю! Удобная штука. Хотя я теперь уже навсегда запомнил.)
Вахмурка wrote: | "Возвращаясь к напечатанному..." | Да, то, что в статье подчёркнуто об этом. Спасибо за напоминание.
З.Ы.: .. Вот какие мы бестолковые - нарушили требование автора программы и еще удивляемся! |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|