View previous topic :: View next topic |
Author |
Message |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Oct 26, 2010 13:12 Post subject: |
|
|
Batya
Спасибо за подключение! Пока криво работает, прыгает на последний диск, там и остаётся.
Я, кстати, из функции CheсkDrive убрал бы " And D.IsReady", а то на прошлых этапах он тормозил процесс конкретно. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Tue Oct 26, 2010 13:45 Post subject: |
|
|
Flasher wrote: | Пока криво работает, прыгает на последний диск, там и остаётся. |
А есть ещё диски, удовлетворяющие условиям?
И ты не забыл очистить в кнопке поле "Путь запуска"?
У меня нет нескольких задействованных съемных дисков. Проверял, удалив из условий " And (D.DriveType = 1)". Работало нормально.
Flasher wrote: | Я, кстати, из функции CheсkDrive убрал бы " And D.IsReady", а то на прошлых этапах он тормозил процесс конкретно. |
Всё в твоих руках
Добавил, чтобы TC не пытался перейти на пустой оптический привод и на пустой диск картридера.
А сейчас, кстати, тормозит? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Oct 26, 2010 14:37 Post subject: |
|
|
Batya wrote: | И ты не забыл очистить в кнопке поле "Путь запуска"? | Угу, теперь заработало как надо.
Batya wrote: | Добавил, чтобы TC не пытался перейти на пустой оптический привод и на пустой диск картридера. | Я это понял, тогда оставляй для других, у меня картридеры внешние, с этим проблем нет. А с оптическими приводами, как и с сетевыми, так и с виртуальными вообще не должно быть проблем, мы же в условии задаём тип Removable(D.DriveType = 1).
Batya wrote: | А сейчас, кстати, тормозит? | Да особо уже не заметно.
Предлагаю универсализировать скрипт за счёт смены D.DriveType = 1 на D.DriveType = WScript.Arguments(0), в комментарии добавить описание параметров:
' 1 - тома сменных накопителей;
' 2 - тома жёстких дисков;
' 3 - сетевые диски;
' 4 - оптические приводы.
Новое название: Переход на диски в зависимости от заданного типа и переключение между ними. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Tue Oct 26, 2010 16:14 Post subject: |
|
|
Flasher wrote: | Предлагаю универсализировать скрипт |
Сделал. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Oct 26, 2010 16:18 Post subject: |
|
|
Batya
Спасибо, удобная вещь получилась.
Забыл дописать ' 5 - виртуальные диски.
У меня тут ещё вчера мысль промелькнула - осуществлять переход в обратном направлении. С этим сложнее? |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Tue Oct 26, 2010 16:55 Post subject: |
|
|
Flasher wrote: | Забыл дописать ' 5 - виртуальные диски. |
Сделал.
Flasher wrote: | осуществлять переход в обратном направлении. С этим сложнее? |
Code: | '========================================================
' Последовательное обратное переключение между дисками
' Параметры скрипта:
' [{Тип дисков}]
' Здесь {Тип дисков} может принимать значения:
' 1 - тома сменных накопителей;
' 2 - тома жёстких дисков;
' 3 - сетевые диски;
' 4 - оптические приводы;
' 5 - виртуальные диски.
' Авторcтво: Flasher, Batya
'========================================================
Option Explicit
'================ Изменяемые параметры ==================
Const DefaultDriveType = 1 'Тип дисков по умолчанию
'========================================================
Dim FSO, WSH, D, Drive, NewDrive, DriveType
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
DriveType = DefaultDriveType
If WScript.Arguments.Count > 0 Then _
DriveType = CInt(WScript.Arguments(0))
Drive = UCase(FSO.GetDriveName(WSH.CurrentDirectory))
NewDrive = ""
For Each D In FSO.Drives
If (UCase(D.Path) = Drive) Then
If NewDrive <> "" Then _
GoToDrive(NewDrive):Quit
Else
If CheckDrive Then _
NewDrive = D.Path & "\"
End If
Next
'Если текущий диск первый, перейдём на последний диск
If NewDrive <> "" Then _
GoToDrive(NewDrive):Quit
'Подходящих по условиям дисков нет. Выходим
Quit
Sub Quit
Set D = Nothing
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit 0
End Sub
Function CheckDrive
CheckDrive = ((D <> "A:") And D.IsReady And (D.DriveType = DriveType) And (UCase(D.Path) <> Drive))
End Function
Sub GoToDrive(pDrive)
Dim TCPath
TCPath = WSH.ExpandEnvironmentStrings("%Commander_Path%")
WSH.Run """" & TCPath & "\totalcmd.exe"" /S /O /L=" & pDrive, 1, True
End Sub
|
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Oct 26, 2010 17:05 Post subject: |
|
|
Быстро. Даже в серёдке слегка покороче получился. Отлично, молоток!
Добавлено: вот тут D.IsReady пришлось убрать, тормозит сильно, вместо 3-5 дс все 6-7 сс.
С виртуальными дисками я поспешил, видимо FSO.Drives может читать только RAM-диски, смонтированные штатными средствами. Пробовал разные цеплялки от плагина VirtualDisk до Alcohol 120. |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Tue Oct 26, 2010 23:06 Post subject: |
|
|
Может, плохо искал, но все-таки: нет ли скомпилированного скрипта, позволяющего выполнить несколько (надо до 10) cm_/em_ команд из строки вида Code: | script.exe cm_xxx cm_yyy em_zzz ... | ? |
|
Back to top |
|
 |
Rodny

Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 27, 2010 00:28 Post subject: |
|
|
Rodny
Правильней не продублировать, а процитировать себя же (1, 2).
Ну и своё воткну на всякий.
Serge Yolkin
TCFS2 ещё не пробовал? Очень рекомендую.  |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Wed Oct 27, 2010 10:42 Post subject: |
|
|
Rodny
Flasher
Спасибо. |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Wed Oct 27, 2010 12:06 Post subject: |
|
|
TCMC был снесен Symantec'ом Вряд ли вирус, скорее у симантика паранойя. TCFS2 - как швейцарский ножичек на все случаи жизни. Мне показался избыточным. Пока разбираюсь с TCCP. em_ выполнить не удалось, пришлось через UserMenuNN дублировать команды. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Oct 27, 2010 12:23 Post subject: |
|
|
Serge Yolkin wrote: | TCMC был снесен Symantec'ом Вряд ли вирус, скорее у симантика паранойя. | Проблема в EXE-пакере. Большинство антивирусов их не переваривают. Банально возьми чистый экзешник, проверь на вирустотале, потом его же запакуй опенсорсным UPX (который, кстати, поставляется с анпакером) и проверь на том же вирустотале - значительно возрастет подозрительность файла.
Quote: | TCFS2 - как швейцарский ножичек на все случаи жизни. Мне показался избыточным. | Дык предназначение TCFS2 - не просто уметь посылать команды окну тотала. Цель была - создать инструментарий для перевода тотала в полноэкранный режим, причем максимально гибкого. Поэтому чтение/запись тоталовского INI, посыл cm-команд и управление окном были необходимы.
Quote: | em_ выполнить не удалось | А em-команды посылаются принципиально иначе, чем cm-команды. Если cm-команда посылается стандартным сообщением с её номером, то имя em-команды посылается в сообщении WM_COPYDATA в текстовом виде. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10416 Location: Россия, Саратов
|
(Separately) Posted: Wed Oct 27, 2010 12:24 Post subject: |
|
|
Serge Yolkin wrote: | TCMC был снесен Symantec'ом Вряд ли вирус, скорее у симантика паранойя. |
Известная проблема (разумеется, из-за упаковщика), неоднократно обсуждалась, в том числе на оффоруме. См. мой коммент, например, здесь. Выкладывались разные варианты, на которые орало разное количество антивирусов. Если надо, вечером могу поискать на домашнем компе наименее проблемный вариант. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия.
Last edited by Avada on Fri Jul 31, 2015 22:32; edited 1 time in total |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Wed Oct 27, 2010 13:10 Post subject: |
|
|
MVVСпасибо за разъяснение. |
|
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
|