Есть такая интересная клавиатура — Microsoft Natural Ergonomic Keyboard 4000. Живет у меня с древних лет. Удобная, красивая и т.д. Но есть одна неприятность: тупой джойстик масштабирования. Он мне не нужен, а вот скролл пригодился бы. В стандартных настройках такой фичи нет. Будем делать руками. Итак, задача: сделать скролл из зума. Для такой нехитрой переделки открываем commands.xml в каталоге с интелли тайп (обычно %PROGRAMFILES%\Microsoft IntelliType Pro).
Прибиваем в списке процессов itype.exe и удаляем все строки, содержащие
<C319 type="6" Activator="ZoomIn" />
<C320 type="6" Activator="ZoomOut" />
выбрать нужное можно с помощью комманды type commands.xml | find /v "C319" | find /v "C320" > commands2.xml
Далее, в файле commands2.xml добавляем в /DPGCmd/ALL/Application[UniqueName="StandardSupport"] строки
<C319 type="6" Activator="ScrollUp" />
<C320 type="6" Activator="ScrollDown" />
переименовываем новый файл в commands.xml и запускаем itype.exe.
Гаечный ключ на 36
WScript.StdOut | WScript.StdIn
Пользователи Windows часто бывают обделены возможностью создания полноценных сценариев с использованием bash, perl или php. Поэтому приходится использовать то что есть. В Windows есть Windows Script. Эта штуковина поддерживает JavaScript или VBScript сценарии. Где-то слышал, что ActivePerl тоже можно. Очень интересно.
Вот, к примеру, нам нужно используя только стандартные средства изменить формат текстового лога. На входе у нас есть оригинальный файл, список замен и правила преобразования.
Оригинальный файл содержит время прохода сотрудника:
007 01.04.08 07:39:59 0 00 Леоненко Александра Владимировна 007 01.04.08 07:41:53 0 00 Шарифов Рустам Тофикович 007 01.04.08 07:42:30 0 00 Емельянова Татьяна Викторовна 007 01.04.08 07:42:37 0 00 Лопухов Дмитрий Владимирович 007 01.04.08 07:43:28 0 00 Власова Елена Александровна 007 01.04.08 07:47:27 0 00 Казакова Екатерина Алексеевна 007 01.04.08 07:47:30 0 00 Черкасова Наталья Юрьевна 007 01.04.08 07:47:47 0 00 Красилов Павел Александрович
Список сотрудников экспортирован из 1С (текст, разделенный табуляцией):
Советникова Наталья Викторовна Ювелир-монтировщик 0000000028 Сычева Марина Юрьевна Ювелир-монтировщик 0000000072 Сычугова Наталья Владимировна Кладовщик на складе ценников 0000000027 Сычугова Татьяна Валерьевна Контролер по качеству 0000000030 Тарлакова Валентина Валерьевна Ювелир-полировщик 0000000032 Тымчишин Наталья Васильевна Кладовщик на складе ценников 0000000060 Упорова Татьяна Ивановна Уборщица 0000000063 Фомина Ирина Николаевна Ювелир-монтировщик 0000000059
Задача: Преобразовать файл для удобной загрузки в mysql. Выходной файл должен быть следующего вида:
2008-04-01 07:39:59 16 2008-04-01 07:41:53 54 2008-04-01 07:42:30 13 2008-04-01 07:42:37 44 2008-04-01 07:43:28 0 2008-04-01 07:47:27 6 2008-04-01 07:47:30 28 2008-04-01 07:47:47 60
Дата в формате YYYY-MM-DD hh:mm:ss и вместо ФИО — табельный номер
Очень просто выполнить такую операцию используя объект WScript.StdIn
var cin = WScript.StdIn; var input = cin.ReadAll();
Теперь в input содержится содержимое стандартного ввода. Отправить файл в стандартный ввод можно выполнив команду cscript //nologo script.js < eventlog.txt
cscript вывалит результат работы в стандартный поток вывода. Не забыть перенаправить этот вывод в файл. cscript //nologo script.js < eventlog.txt > outfile.txt
Остается только загрузить выходной файл в mysql.load data local infile 'outfile.txt' into table `eventlog` character set cp1251 lines terminated by '\r\n';