Pull to refresh

The Bat/Voyager — опасный ремонт базы писем

Reading time 1 min
Views 3.2K
Lumber room
Много лет уже пользуюсь Батом, но одного понять не могу: почему так плохо и даже опасно работает система создания резервных копий и ремонт БД писем.

В последнее время перестала создаваться резервная копия с таким вот объяснением:
«Произошла ошибка при копировании папки Входящие Возможно, причиной тому-поврежденный индексный файл(.TBI или .EBI) базы писем. Попробуйте удалить индексный файл этой папки, затем заново откройте эту папку в The Bat, а потом повторите попытку сделать резервную копию»

Естетственно удаление индексных файлов не помогает, но для этого случая существует инструмент «Управление папками», в котором можно провести «Проверку целостности/ремонт».

Так вот после ремонта письма из папок исчезают! И вернуть их штатными средствами никак не получается… Прогугливание и прояндыксевание показало, что проблема не решена :(

Неужели у такого прославленного почтовика такие проблемы с важнейшей функцией — бэкапом? Вобщем если кто-то решал подобную проблему, буду очень рад узнать о способах решения.

p.s. Такая проблема возникала и в Бате, а затем и в Вояджере.
Total votes 4: ↑3 and ↓1 +2
Comments 8

Ежедневная архивация веб-проектов

Reading time 1 min
Views 2.4K
Website development *
Вот такую вещь я сделал сегодня. А перед этим — ещё год назад, работая в веб-студии.
Предлагается вашему вниманию bat-скрипт для ежедневной архивации home-директории вашего сайта и базы данных (MySQL).

Требования: Windows (у меня на работе — 2000), команда mysqldump доступная сразу из командной строки, WinRAR или любой другой архиватор, работающий из командной строки.

@echo off
set DATE = `date \T`
@md "%DATE%"
cd "%DATE%"
mysqldump drupal -u root > "drupal-%DATE%.sql"
"C:\Program Files\WinRAR\rar.exe" a -inul "htdocs-%DATE%.rar" c:\apache\htdocs
cd "../"


Скрипт может запускаться вручную или планировщиком по расписанию (достаточно стандартного системного планировщика). Линуксоиды могут легко переписать этот скрипт для своей системы.

При выполнении в среде Windows 2000 генерируется директория типа "Пн 17.12.2007", а в ней два файла — "drupal-Пн 17.12.2007.sql" и "htdocs-Пн 17.12.2007.rar". Новый день — новая директория. Преимущество отдельной директории в том, что у вас может создаваться несколько бэкапов разных сайтов.

И напоследок — если кто-то знает, как изменить формат даты на 2007-12-12 — напишите пожалуйста.
Total votes 26: ↑15 and ↓11 +4
Comments 46

Bat-файл, иллюстрирующий работу с реестром, UNC путями и строками

Reading time 2 min
Views 2K
Lumber room
Если под рукой нет компилятора, то в windows окружении батники — довольно удобный инструмент. Приведённый ниже пример иллюстрирует работу с реестром из батника, как реализовать работу батника с сетевого ресурса, а также некоторые простейшие строковые операции на примере копирывания и запуска крэка для игры S.T.A.L.K.E.R., путь к которой выдёргивается из реестра (листинг под хабракатом).

Было бы интересно посмотреть на более элегантное решение этой задачи.
Читать дальше →
Total votes 8: ↑5 and ↓3 +2
Comments 9

Proxy на работе и отсутствие его дома

Reading time 1 min
Views 8.6K
Client optimization *
Или галочка достала

хостинг фото
У меня на работе, как и у многих других, Интернет работает через Proxy, естественно каждое утро (так как у меня ноут который всегда со мной) приходится ползти в настройки и ставить эту галочку, приходя домой с работы, опять же нужно ее убирать. В общем достало…
Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Comments 28

Работа с массивами в bat

Reading time 6 min
Views 51K
Abnormal programming *
Прочитав пост Свой сапер на своих батниках и пробежавшись по коду, наткнулся на комментарий, что в батниках нет массивов (кстати, в последней версии Сапера, о котором идёт речь в том посте, нет этого комментария). Так вот, если в батнике необходимо использовать некоторый набор значений, то логично объявить такое кол-во переменных, которое требуется и работать с ними. Собственно данный сценарий эту задачу помогает решить проще. Вот несколько примеров:

echo Создание массива А:
call :array new A "'one','two','three','foo','bar'"
echo Получение третьего элемента в result:
call :array get A 3 result
echo %result%
echo Изменение нулевого элемента
call :array set A 0 "первый элемент"

подробнее
Total votes 47: ↑39 and ↓8 +31
Comments 32

И старый BAT-ник душу греет

Reading time 4 min
Views 1.4K
Lumber room
Иногда случаются ситуации, когда хочется малость автоматизировать какую-то мелкую задачу, а любимого инструмента под рукой нет. Или просто лень что-то кодить в любимой «суперсовременной» IDE ради мелочной задачи, хочется как-то сделать это проще, более системными и приземленными способами. По крайней мере у меня именно так :)

И вот тогда на ум мне почему-то сразу приходит старый добрый bat (пользователей Linux-a не считаем, у них там все намного проще).

Как же приятно порою бывает, когда то, что ты учил в школе (и институте) еще тогда, можно как-то использовать и сейчас!!!
Пусть даже и для такой тривиальной задачи, как формирование плейлиста нужной директории.
Читать дальше →
Total votes 23: ↑19 and ↓4 +15
Comments 4

Автоматическая нумерация сборки на примере haxe

Reading time 2 min
Views 1.4K
Lumber room

Введение


В настоящее время, я работаю над проектом, одним из основных инструментов, в котором является язык haxe. В качестве среды разработки для haxe, в данном проекте, я использую FlashDevelop. В течение дня, проект собирается множество раз, и надо точно знать, какая сборка, сейчас, выложена в общий доступ. Для этого необходимо нумеровать сборки. Так как, ни в haxe, ни во FlashDevelop стандартного средства генерации номера сборки найдено не было, предлагаю для решения этой задачи, провернуть определённый трюк.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Comments 2

Код на php внутри ваших bat файлов

Reading time 1 min
Views 3.2K
Abnormal programming *
Довольно часто пишу для себя мелкие скрипты на пхп, но каждый раз запускать их из командной строки надоело, а ассоциировать на запуск по двойному клику нехотелось, так как уже привык что в этом случае файл открывается в редакторе. Можно писать батники, с единственной строчкой внутри, для запуска, но в этом случае на каждый простой скрипт будет уже два файла, вот эти то файлы я и решил скрестить.

То что получилось
Создаем файл, называем его например p.bat и пишем в него следующий код

rem <?/*
"путь до интерпретатора пхп" p.bat
exit
rem */ echo "\r \r";

//тут код на пхп

Пояснить наверно надо только строку 4, вызов echo нужен чтобы затереть в выводе слово rem
Total votes 28: ↑17 and ↓11 +6
Comments 8

Файл⇨строка или активность работы над файлом

Reading time 19 min
Views 2.1K
Version control systems *
Большинство разработчиков знакома с таким продуктом, как визуализатор code_swarm (на google code). Как минимум каждый третий наверняка выгружал для него лог и создавал видео, которое визуализирует процесс разработки приложения, в котором видно активность программистов. Ну и конечно каждый второй видел видео подобного рода. Практически все эти видео делались на срезе отношения программист⇨файл.
В этой статье будет описан процесс формирования лога в срезе отношения файл⇨строка, то есть с генерированное видео будет демонстрировать активность работы над файлом.

Кому это интересно под прошу под кат.
В статье будет использованы:
  • Git — VCS
  • code_swarm — визуализатор истории репозиториев.
  • gource — визуализатор истории репозиториев.
  • Эмулятор среды linux в Windows или UNIX OS (с git уже идет для win эмулятор msysgit)
  • MEncoder — свободный кодировщик видео
  • ffmpeg — программа для конвертации видео с использованием различных кодеков.
Далее...
Total votes 44: ↑42 and ↓2 +40
Comments 12

Многопользовательский чат на BAT

Reading time 3 min
Views 21K
Abnormal programming *
Был период, когда в универе задали сделать несколько чатов. В зависимости от вариантов, были заданы различные способы взаимодействия программ от сокетов до майлслотов (mailslot). Когда задания были прикончены, остались силы взяться за скрипты BAT. Вот что получилось…



Всё что нужно для запуска:
1. Взять код по ссылке в конце статьи
2. Сохранить код в файл *.bat
3. Положить файл в сетевую папку
4. Запустить файл с разных компов (можно и с одного)

В комментариях предложили использовать совместно с DropBox, но говорят — что работает весьма не быстро.
Читать дальше →
Total votes 247: ↑242 and ↓5 +237
Comments 72

Интерпретатор Brainfuck на BAT

Reading time 6 min
Views 3.7K
Abnormal programming *
Sandbox
Простота языка Brainfuck порождает множество реализаций его исполнения. На хабре уже были интерпретаторы и компиляторы на различных языках программирования, даже на Bash. Мне показалось, что несправедливо обойти еще один командный процессор. А именно командные файлы семейства WindowsNT, они же батники. При написании данного интерпретатора была поставлена цель реализовать всё только на встроенном «языке» консоли.

Читать дальше →
Total votes 47: ↑41 and ↓6 +35
Comments 41

Пакетная обработка изображений в Picasa с помощью ImageMagick

Reading time 3 min
Views 4.9K
Image processing *
imageВ нашем офисе мы используем Picasa для обработки множества сканов и фотографий. Мы используем Picasa уже несколько лет и очень довольны. Однако, Picasa не предоставляет всех необходимых нам функций, а некоторые слишком сложно использовать при нашем объеме работ. Чтобы упростить нашим сотрудникам задачу, я решил автоматизировать некоторые процессы, используя два основных компонента: набор консольных утилит ImageMagick, и довольно малоизвестный Picasa Button API.

В качестве примера я опишу небольшое приложение, которое мы используем для совмещения нескольких изображений в одно, одним кликом прямо из интерфейса Picasa. Немного разобравшись с ImageMagick, можно легко модифицировать этот код для других задач.

Читать дальше →
Total votes 50: ↑49 and ↓1 +48
Comments 7

Быстрая смена сетевых настроек

Reading time 2 min
Views 128K
Development for Windows *
Я пользуюсь личным ноутбуком на работе и дома. Для доступа к сети мне приходится дважды в день менять сетевые настройки. Причем, как дома, так и в офисе есть привязка к MAC-адресу машины. Поэтому приходится также менять MAC в свойствах сетевой платы.
Чтобы как-то автоматизировать этот процесс, была запущена командная строка и поисковик. Подробности и готовый bat-файл под катом.
Читать дальше →
Total votes 82: ↑65 and ↓17 +48
Comments 63

Использование bat файлов для развертывания приложений

Reading time 7 min
Views 17K
Abnormal programming *
Sandbox
В процессе трудовой деятельности пришлось столкнуться с одной задачей. Есть некоторый продукт, работающий под Windows и состоящий из нескольких компонент — ядра, протокола, моста и канала доставки. Часть компонент написана на JAVA, часть на C++. Каналов доставки может быть от одного до двадцати. Каждый компонент использует свою БД (в качестве СУБД выступает MS SQL Server). Для компонент, написанных на JAVA, структура БД создается автоматически, для компонент, написанных на C++ структуру нужно создавать вручную SQL скриптом. Каждый компонент должен работать как сервис в системе. Все это добро должно быть тщательно протестировано. Для каждого теста необходимо пересоздавать БД и системные сервисы.

Проделав это дело один раз, я задумался, а как бы этот процесс можно было максимально автоматизировать (действия не сложные, но рутинные). Решение должно быть простым и не требующим установки какого-либо софта. Поэтому сразу же выбор пал на древний, но проверенный временем файл сценариев на встроенном командном языке — Bat. Заодно проверим, на что bat скрипты еще способны.
Читать дальше →
Total votes 25: ↑18 and ↓7 +11
Comments 19

Использование bat файлов для создания «Заданий по расписанию»

Reading time 3 min
Views 41K
Abnormal programming *
Продолжаю тему создания нетривиальных bat-файлов для тривиальных задач, начатую здесь.

Наверняка многие сталкивались с задачей, когда для каких-либо целей в ОС Windows необходимо создать задание, выполняемое по расписанию (scheduled task).
Для этих целей имеется простой графический интерфейс. Однако как поступить, если задание должно создаваться автоматически?
Попробуем решить эту задачу с использованием примитивного bat-скрипта, который будет выполняться в практически любой версии Windows.
Читать дальше →
Total votes 22: ↑16 and ↓6 +10
Comments 11

Автоматическое добавление keywords к файлам в TortoiseSVN под Windows

Reading time 3 min
Views 2.2K
Abnormal programming *
В Subversion существует функциональность автоматической подстановки встроенных ключевых слов. Данная возможность позволяет добавить в файл, например, такую информацию как последний пользователь редактировавший файл, ревизию и дату модификации.
В данный момент эта функциональность сильно ограничена, но тем не менее может быть весьма полезной. Одно из основных ограничений – необходимость добавлять обработку ключевых слов для каждого нового файла. Это же относится к переименованным и перемещенным файлам (SVN обрабатывает их как новые).
Подробности
Total votes 9: ↑8 and ↓1 +7
Comments 6

Лига защиты интернета будет оповещать о угрозах свободы Сети по примеру Бетмена

Reading time 1 min
Views 21K
Information Security *
Этим летом Лига защиты интернета (ну путать с Лигой безопасности интернета) начала проект экстренного оповещения об угрозах сетевой свободе типичным для сети способом — распространением информации и символики организации автоматизированными средствами. В частности, в качестве атрибута организации было выбрано изображение чёрного котенка с психоделическим взглядом.

Как оказалось, что фантазия активистов не закончилась на этом, а плавно переросла в реальную жизнь, причём весьма эффектным способом! Организация установила в Сан-Франциско и Нью-Йорке прожекторы и стала транслировать на облака или стены высокого здания изображение — символ своей организации подобно тому, как это делал Бетмен в серии фильмов «Тёмный рыцарь».



Узнать подробности
Total votes 47: ↑34 and ↓13 +21
Comments 35

Компиляция исходников (cpp, cs) компилятором Visual Studio без запуска IDE в Windows

Reading time 16 min
Views 38K
Programming *C++ *C# *
Sandbox
Частенько нет необходимости запускать тяжеловесную IDE Visual Studio для компиляции небольших приложений, проведения каких-либо тестов кода, не требующего полномасштабной отладки. В подобных случаях можно оперативно собрать приложение в консольном режиме, используя возможности предоставляемые компилятором от Microsoft (cl.exe) и запускными модулями IDE (devenv.exe, msdev.exe). Далее приводится код файлов сценариев (cmd) интерпретатора командной строки Windows, который с небольшими изменениями каждый может настроить под себя, с учётом путей к Visual Studio в своей системе.
Подробности
Total votes 19: ↑6 and ↓13 -7
Comments 6

Парящий ветрогенератор BAT: электричество, сотовая связь, Wi-Fi и метеостанция

Reading time 1 min
Views 44K
Wireless technologies *


В наше время появляется достаточно большое количество проектов, цель которых — получение энергии из альтернативных источников. Некоторые проекты — фантастические, другие — реализованы, третьи — реализуются сейчас. К последней категории относится и проект компании Altaeros, которая создала нечто, похожее на громадную турбину реактивного самолета.

Но на самом деле это «нечто» — ветрогенератор, который должен парить (благодаря гелию, которым наполняется этот «аэростат») на высоте 610 метров (2000 футов). Такие генераторы доставляются на место запуска, и фиксируются системой тросов-кабелей. По кабелям полученная генератором энергия поступает в систему накопления/хранения, откуда поступает в нужное место.

Читать дальше →
Total votes 60: ↑55 and ↓5 +50
Comments 62

Как установить доверительные отношения между компьютером и основным доменом

Reading time 3 min
Views 23K
Domain names administrating *System administration *IT Infrastructure *Server Administration *DevOps *
Здравствуйте Уважаемые читатели Хабрахабра! В просторах интернета каждый из нас может найти много отдельных статей о не прохождении аутентификации компьютера через домен-контроллер, если точнее сказать, компьютер подключенный к домену теряет связь с ним.

Итак, приступим к изучению этой проблемы.
Читать дальше →
Total votes 18: ↑11 and ↓7 +4
Comments 36
1