Страница 2 из 3
Добавлено: Сб сен 18, 2010 20:19
taravasya
Точно виноват

. Теперь всё работает....
Добавлено: Сб сен 18, 2010 20:33
Flasher
taravasya писал(а):Ну первый вариант я не пробовал, а вот второй вводил ^
Не понял. В смысле "вводил"? Не должно быть ^, поскольку раскладка английская в любом случае. Знак "^" может выводиться только по Shift+6.
Вот такой код что даст в строке заголовка панели?:
Код: Выделить всё
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.SendCommand "cm_EditPath"
TCS.SendKeystroke "+; : a: : +6"
Добавлено: Сб сен 18, 2010 20:42
taravasya

Это может как то зависить от клавиатуры?
Добавлено: Сб сен 18, 2010 20:51
Flasher
taravasya
Опять я вижу, что символы берутся из русской раскладки. Первый символ на клавише 4, отсюда и "доллар". А в настройках винды в диалоге "Язык и службы текстового ввода" какие языки по порядку расположены?
Последняя строка вводилась копипастом или ручками?
Добавлено: Сб сен 18, 2010 20:59
taravasya
Flasher писал(а):вводилась копипастом
Угу...
Flasher писал(а):А в настройках винды в диалоге "Язык и службы текстового ввода"
У меня Seven. Там немножко иначе называется. Кокй именно параметр интересует? Скажите своими словами.
Вообще раскладка, сверху английская, снизу русская(но русская умолчальная)
Добавлено: Сб сен 18, 2010 21:16
Flasher
taravasya
Ясно. Всё это очень странно. На семёрке проверю в начале следующей недели, если кто-то раньше не возмётся. Да и комментарий Volniy тут не помешал бы.
Добавлено: Пн сен 20, 2010 14:15
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 не используется - проблем с раскладкой не будет.
Добавлено: Пн сен 20, 2010 14:39
Serge Yolkin
А скрипт обязательно нужен? Может, просто
Код: Выделить всё
cd C:\Order\%DATE:~8,2%%DATE:~3,2%%DATE:~0,2%
Правда, на некоторых 7/64 (закономерность пока не понял) дата отображается в формате ДД/ММ/ГГ, тогда вместо DATE:~8,2 надо поставить DATE:~6,2
Добавлено: Пн сен 20, 2010 15:13
Tol!k
Serge Yolkin писал(а):Правда, на некоторых 7/64 (закономерность пока не понял) дата отображается в формате ДД/ММ/ГГ
Исправляется в "Региональных установках"
Добавлено: Пн сен 20, 2010 17:53
Flasher
Batya, ну, поскольку Хелпер человек использовать не отказывается, мною
предложенный вариант будет порезче работать.
Добавлено: Вт сен 21, 2010 03:49
taravasya
Ребята! Большое Вам всем спасибо за помощь!...
Batya
У меня к Вам просьба, если не сложно не могли бы Вы прокомментировать поподробнее эту строку:
Код: Выделить всё
WSH.Run """" & TCPath & """ /S /O /L=""" & Path & YYYYMMDD & """", 1, True
Дело в том, что я пытаясь обойти проблему с раскладкой, пытался использовать данный метод(конечно тоже тут подсматривал), но у меня ничего не вышло. Я уверен что натупил с кавычками. И кроме того мне непонятны
и
PS/ Был бы очень благодарен, если подскажите толковую литературу по VB в WSH.
Ещё раз всем спасибо!!!!!
Добавлено: Вт сен 21, 2010 07:00
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
Добавлено: Вт сен 21, 2010 09:48
Batya
taravasya писал(а):Был бы очень благодарен, если подскажите толковую литературу по VB в WSH.
Во-первых, не стоит путать VB и VBS. Это разные языки.
По изучению языка
Flasher привёл достаточный список.
Мне очень нравится ресурс, который идёт по ссылке
8.
Здесь же можно почитать про
WSH.Run.
По поводу кавычек... Если нужно, чтобы в строке была кавычка, то при задании значения строки кавычки задваиваются. Например:
Код: Выделить всё
MsgBox "Текст перед кавычкой "" Текст после кавычки"
Соответственно, если нет текста перед кавычкой и\или после неё, то получаем тройные\четверные комбинации кавычек.
Добавлено: Вт сен 21, 2010 17:40
Lev
[off]А я как-то присобачивал vbs + wso (WindowSystemObject) к
HiAsm. Может кому интересно будет поиграться :)[/off]
Добавлено: Вт сен 21, 2010 20:30
Flasher
[off]для какой версии? у меня не последняя стоит.[/off]