Вместо двоеточия знак ^

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

taravasya
Сообщения: 38
Зарегистрирован: Сб мар 27, 2010 18:50

Сообщение taravasya »

Точно виноват :oops: . Теперь всё работает....
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

taravasya писал(а):Ну первый вариант я не пробовал, а вот второй вводил ^
Не понял. В смысле "вводил"? Не должно быть ^, поскольку раскладка английская в любом случае. Знак "^" может выводиться только по Shift+6.
Вот такой код что даст в строке заголовка панели?:

Код: Выделить всё

Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.SendCommand "cm_EditPath"
TCS.SendKeystroke "+;  : a: : +6"
taravasya
Сообщения: 38
Зарегистрирован: Сб мар 27, 2010 18:50

Сообщение taravasya »

Изображение
:cry:
Это может как то зависить от клавиатуры?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

taravasya
Опять я вижу, что символы берутся из русской раскладки. Первый символ на клавише 4, отсюда и "доллар". А в настройках винды в диалоге "Язык и службы текстового ввода" какие языки по порядку расположены?

Последняя строка вводилась копипастом или ручками?
Последний раз редактировалось Flasher Вс сен 19, 2010 00:56, всего редактировалось 1 раз.
taravasya
Сообщения: 38
Зарегистрирован: Сб мар 27, 2010 18:50

Сообщение taravasya »

Flasher писал(а):вводилась копипастом
Угу...
Flasher писал(а):А в настройках винды в диалоге "Язык и службы текстового ввода"
У меня Seven. Там немножко иначе называется. Кокй именно параметр интересует? Скажите своими словами.

Вообще раскладка, сверху английская, снизу русская(но русская умолчальная)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

taravasya
Ясно. Всё это очень странно. На семёрке проверю в начале следующей недели, если кто-то раньше не возмётся. Да и комментарий Volniy тут не помешал бы.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

taravasya писал(а):Мне нужен скрипт, по выполнению которого, тотал командер переходил бы в папку:
A:\Orders\Date

Код: Выделить всё

'===================================
' Переход в TC в папку текущей даты
'===================================
Option Explicit
Dim WSH, Path, TCPath, strDayOfMonth, strMonth, strYear, YYYYMMDD
Set WSH = CreateObject("WScript.Shell")
Path    = "a:\order"

strDayOfMonth = right("0" & day  (date()), 2)
strMonth      = right("0" & month(date()), 2)
strYear       = right(      year (date()), 4)
YYYYMMDD      = strYear & "-" & strMonth & "-" & strDayOfMonth

TCPath = WSH.ExpandEnvironmentStrings("%Commander_Path%") & "\totalcmd.exe"
WSH.Run """" & TCPath & """ /S /O /L=""" & Path & YYYYMMDD & """", 1, True

Set WSH = Nothing
WScript.Quit 0
SendKeystroke не используется - проблем с раскладкой не будет.
Нет, я не сплю. Я просто медленно моргаю.
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

А скрипт обязательно нужен? Может, просто

Код: Выделить всё

cd C:\Order\%DATE:~8,2%%DATE:~3,2%%DATE:~0,2%
Правда, на некоторых 7/64 (закономерность пока не понял) дата отображается в формате ДД/ММ/ГГ, тогда вместо DATE:~8,2 надо поставить DATE:~6,2
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Serge Yolkin писал(а):Правда, на некоторых 7/64 (закономерность пока не понял) дата отображается в формате ДД/ММ/ГГ
Исправляется в "Региональных установках"
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Batya, ну, поскольку Хелпер человек использовать не отказывается, мною предложенный вариант будет порезче работать.
taravasya
Сообщения: 38
Зарегистрирован: Сб мар 27, 2010 18:50

Сообщение taravasya »

Ребята! Большое Вам всем спасибо за помощь!...
Batya
У меня к Вам просьба, если не сложно не могли бы Вы прокомментировать поподробнее эту строку:

Код: Выделить всё

WSH.Run """" & TCPath & """ /S /O /L=""" & Path & YYYYMMDD & """", 1, True 
Дело в том, что я пытаясь обойти проблему с раскладкой, пытался использовать данный метод(конечно тоже тут подсматривал), но у меня ничего не вышло. Я уверен что натупил с кавычками. И кроме того мне непонятны

Код: Выделить всё

" /S /O /L="
и PS/ Был бы очень благодарен, если подскажите толковую литературу по VB в WSH.
Ещё раз всем спасибо!!!!!
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

taravasya
Я сам использовал эту строку в первом скрипте с диалогом копирования.
Ладно, хоть и не меня попросили.. Что тут, собственно..
переменная WSH сопоставлена с объектом WScript.Shell ;
Run - метод, запускающий программы (аналогична той, что вызывается по Win+R);
TCPath - переменная, которой строкой выше присваивался путь к exe-шнику ТС;
" /S /O /L=" - обычные параметры ТС; См. справку;
True - элемент функции для ожидания её отработки;
& - оператор слияния строк;
с Path, думаю, понятно..
Одна кавычка спереди и одна сзади обрамляют обрабатываемую строку целиком. Тройные кавычки обусловлены взятием каждой отдельной кавычки в ещё одни кавычки согласно синтаксису: " <кавычка> ".
Cами <Кавычки> нужны для учёта функцией пробелов в строке запуска.
taravasya писал(а):Был бы очень благодарен, если подскажите толковую литературу по VB в WSH.
А поискать? Ладно, я сегодня добрый. :)
Лит-ра (пароль на архив в личке)
Вэб-ресурсы:1 2 3 4 5 6 7 8
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

taravasya писал(а):Был бы очень благодарен, если подскажите толковую литературу по VB в WSH.
Во-первых, не стоит путать VB и VBS. Это разные языки.

По изучению языка Flasher привёл достаточный список.
Мне очень нравится ресурс, который идёт по ссылке 8.
Здесь же можно почитать про WSH.Run.

По поводу кавычек... Если нужно, чтобы в строке была кавычка, то при задании значения строки кавычки задваиваются. Например:

Код: Выделить всё

MsgBox "Текст перед кавычкой "" Текст после кавычки"
Соответственно, если нет текста перед кавычкой и\или после неё, то получаем тройные\четверные комбинации кавычек.
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
Lev
Сообщения: 392
Зарегистрирован: Ср мар 02, 2005 16:34

Сообщение Lev »

[off]А я как-то присобачивал vbs + wso (WindowSystemObject) к HiAsm. Может кому интересно будет поиграться :)[/off]
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

[off]для какой версии? у меня не последняя стоит.[/off]
Ответить