Кстати, возможно на сервере есть соответствующая настройка - указать новый маршрут для клиента.
Я практически не пользуюсь PPTP (из-за безопасности), толком не знаю его возможностей, но в OpenVPN это есть - можно все настроить на стороне сервера, удобно когда клиентов куча.
Почему вы так уверены, что это ОСь виновата?
Я бы не рассчитывал особо на то что это новый баг в винде. Стек TCP/IP уже давно отлажен даже в винде. Смотрите собственный код.
Сначала батником выдергиваем список файлов из базы, расчитываем хэши по списку, хэши сохраняем в базе. Все в батнике.
Готового примера не приведу.
Найдите подходящую утилиту ком.строки для расчета хэшей, с базой работать можно через isql, osql, cmdsql - утилиты ставятся в комплекте с инструментами MS SQL.
Если будут сложности - пишите новые вопросы на тостер.
Александр: На сколько я понимаю доменное имя будет в последнем цикле в переменной %%a?
Если так, то в тело последнего цикла добавьте:
set "domailen=0"
for /f "tokens=1 delims=." %%b in ("%%~a") do (
set "str=%%~a"
call:strlen str domainlen
)
if !domainlen! equ 6 echo %%a >> %dest%%%i.txt"
Код не тестировал.
В конце вашего кода добавьте оператор выхода:
exit /b
После него вставьте в батник код функции получения длины строки.
Код функции добав
Это было понятно и из текста вопроса.
Я хотел, что бы вы посмотрели какая у вас определяется скорость подключения сетевого адаптера в винде (Auto-Negotiation) когда вы подключаетесь к ЛАН разъему и сравнить ее с подключением по кабелю провайдера. Если обе скорости одинаковы, то кабель можно исключить, если разные - возможно проблема в кабеле.
konchober: "Мускул не умеет использовать индекс entity_id + another_entity_id для запросов" для этого я и посоветовал 2 индекса по отдельности для каждого поля. В итоге вместо 2 индексов по 2 поля, будет 2 индекса по 1 полю. Кластерный индекс места занимает гораздо меньше. Освободите примерно половину пространства, занимаемого сейчас индексами.
Они у вас строковые?
Нафиг строки - заведите 2 справочника для entity и another_entity, в каждом справочнике числовой уникальный ID, а вашу таблицу переделайте на использование чисел.
Назначение таблиц скорее всего одно и то же. Встречал подобную структуру в одной софтине - там таблицы генерировались каждый день. К префиксу имени таблицы добавлялась текущая дата. Бред конечно.
За 3 года работы в базе создалось около 3 тысяч таблиц, т.к. подобная таблица была не одна. Приходилось раз в год делать копию базы и удалять старые таблицы, т.к. в какой-то момент новые таблицы переставали создаваться. База была на MS Access.
fpir: Серьезно? Вы ее читали?
Статью я нашел по первой ссылке в гугле. Прочитал, случай ваш, советы правильные. Лучшая или нет - не знаю, я ее первый раз тогда увидел. Ваши выводы не расходятся с тем, что написано в статье. Если вам не удалось извлечь пользы из статьи - это еще ни о чем не говорит.
byulent: cmd ничего о датах не знает и работать с датами не умеет в принципе. Попробуй пересмотреть условие задачи, может быть хватить проверки на "не равно". Если нет, то можно:
1.Перевести дату/время в секунды и сравнивать секунды. Реализацию на батниках я делал несколько лет назад, выкладывал на forum.ru-board.com, а так же встречал в интернете и другие реализации.
2.Можно по проще поступить: разделяешь дату и время, удаляешь в них разделители, дату нужно переупорядочить в формат YYYYMMDD. В итоге получаешь числа, которые можно сравнивать. Если не разделять дату и время, то числа будут очень большие cmd не справиться со сравнением (в cmd числа являются 32 битными целыми со знаком).
3.Можно написать простейший скрипт на vbs/js для сравнения дат из параметра и возврата результата сравнения в коде возврата. В этом случае, возможно, имеет смысл и весь скрипт переписать на vbs/js.
Накопал немного. Обошлось без отладки системных либ.
Рушится на вызове getpwnam(username), при этом username - указывает в никуда. Хотя выше по коду идет
char *username = cmd;
При этом cmd нормально определено и имеет корректное значение "root". Больше по коду присваивания username нет нигде. Полтергейст?