понедельник, 16 сентября 2013 г.

Вирусы на флешке

 Вирусы на флешке. Все папки стали ярлыками. В зависимости от разновидностей могут появится странные файлы. Через Total Commander папки видно, но свойства не меняются. Делаем bat файл:



@echo off
mode con codepage select=1251 > nul
echo Please wait…
attrib -s -h -r -a /s /d



Запускаем на флешке.
Папки нормальные.

четверг, 12 сентября 2013 г.

Что делать, если растет размер файла ldf (лог базы sql) для 1С

Возможен вариант, когда база данных mdf размером 5-10 Гб, а лог файл 20-30 Гб. Значить выбрана полная модель восстановления. При такой модели в лог файл записываются все транзакции. Для уменьшения лог файла можно воспользоваться Средой Microsoft SQL Server Management Studio.

1. Переводим базу в режим (модель) протоколирования Simple (Простая).
2. В окне параметров в закладке Файлы уменьшаем начальный размер лога до необходимого.
3. Переводим базу в режим Full (Полная).

Все радуемся.

понедельник, 9 сентября 2013 г.

1С:Предприятие 8.2::Редактирование данных этого периода запрещено. Изменения не могут быть записаны...

В Украинских конфигурациях 1С:Предприятие 8.2 при изменении документа с прошлого месяца вылетает сообщение с ошибкой:

Редактирование данных этого периода запрещено. Изменения не могут быть записаны...

Лечится просто  
 Сервис --> Настройки учета  --> Установка даты изменения данных.

четверг, 5 сентября 2013 г.

Вычисление предыдущей даты в командной строке Windows


Частенько бывает нужно для административных задач, например, скопировать файлы изменившиеся вчера.

@echo off
for /f "skip=2 tokens=2*" %%i in ('reg QUERY "HKCU\Control Panel\International" /v sDate') do set sdate=%%j
for /f "delims=%sdate% tokens=1,2,3" %%i in ("%DATE%") do call :getpackage %%i %%j %%k

rem :: проверочка
rem echo %year%
rem echo %month%
rem echo %day%
echo %package%

rem :: тут можно поместить необходимые нам команды

goto :EOF
:getpackage
set day=%1
set month=%2
set /a year=%3
set lastdays="31 28 31 30 31 30 31 31 30 31 30 31"
if %day% leq 9 set /a day=%day:~-1%
if %month% leq 9 set /a month=%month:~-1%
set /a day-=1
if "%day%"=="0" set /a month-=1
if "%month%"=="0" set /a month=12,year-=1
set /a isleap="(year%%4)&((year%%100)|(year%%400))"
if "%isleap%"=="0" set lastdays=%lastdays:28=29%
if "%day%"=="0" for /f "tokens=%month%" %%i in (%lastdays%) do set day=%%i
if %day% leq 9 set day=0%day%
if %month% leq 9 set month=0%month%
set package=%month%-%day%-%year%
goto :EOF


Код не мой, но более правильного решения я не нашел.

Выключить компьютер в заданное время


Существует множество программ для выключения по расписанию с красивым графическим интерфейсом. Бывает нужно все сделать незаметно, или наоборот с предупреждением для всех пользователей например на сервере удалённых рабочих столов.
Запускаем командную строку в режиме администратора вводим:

shutdown /s /t 60 /c "Scheduled shutdown"

Компьютер выключится через 60 секунд с предупреждением для всех пользователей.
Для автоматического выключения можно данную команду поместить в .bat - файл, и в планировщике заданий указать нужное время для выполнения сценария.

Как ОТКЛЮЧИТЬ восстановление системы при загрузке Windows XP и более поздних

В случае сбоя во время загрузки компьютера (BSOD) запускается меню дополнительных вариантов загрузки с тайм аутом 30 сек в котором по умолчанию выбран пункт "Запуск восстановление при загрузке (рекомендуется)" (Startup Recovery), а ниже есть выбор обычной загрузки и по умолчанию выбран пункт "Запуск восстановление при загрузке", время на размышление 30 сек.
 Что-бы отключить данное сообщение достаточно в командной строке прописать:

Bcdedit /set {default} recoveryenabled No

Для включения соответственно:

Bcdedit /set {default} recoveryenabled Yes