пятница, 27 февраля 2015 г.

AVI to AMV

Кодек AVI в AMV для китайских поделок. Это специальная сборка ffmpeg в обычном его нет.
Кладем то что в архиве в каталог с кинами запускаем all_avi_to_amv.cmd.


https://cloud.mail.ru/public/ae75ad7b62f3/teddy.zip

пятница, 6 декабря 2013 г.

Иногда мышиная нора портит весь интерьер - Win2003 Terminal + 1C интересное решение проблемы при печати.

У клиента при нажатии печать делаеться - хлоп и вылет!


В "просмотре событий" на сервере остаются записи 


Чаще других: 
Ошибка приложения 1cv7s.exe, версия 7.70.0.27, модуль mfc42.dll, версия 6.0.8665.0, адрес 0x0000eb5b. 
Ошибка приложения 1cv7s.exe, версия 7.70.0.27, модуль Moxel.dll, версия 7.70.0.27, адрес 0x0003e04a.
Ошибка приложения 1cv7s.exe, версия 7.70.0.27, модуль kernel32.dll, версия 5.2.3790.4480, адрес 0x0000bef7.
Ошибка приложения 1cv7s.exe, версия 7.70.0.27, модуль BLang.dll, версия 7.70.0.27, адрес 0x00003105.
Ошибка приложения 1cv7s.exe, версия 7.70.0.27, модуль br32.dll, версия 7.70.0.14, адрес 0x0001987c.
Ошибка приложения 1cv7s.exe, версия 7.70.0.27, модуль gdi32.dll, версия 5.2.3790.4396, адрес 0x0000d69d.


Решение - заменить переключалку клавиатуры  ctfmon.exe  на от win2000 там ее звать internat.exe + indicdll.dll

https://www.dropbox.com/s/mxlwlibmapgbyte/internat_win2000.zip

Интересно что она спокойно работает и на Win8 ))

Выгнал клиентов, убил процесс ctfmon.exe стер все его ехе в dll кэшах и прочих. 

Перекинул  internat.exe + indicdll.dll в \system32 и переименовал в ctfmon.exe

Пока полет нормальный.

пятница, 8 ноября 2013 г.

1C Терминал выгонялка по времени.

Если больше 18:00 корректно закрываем 1с с сохранением данных и завершаем сессию. В общих свойствах терм сервера wscript.exe runme.vbs



'---------------------------------------------------------------------------------------
Set objShell = CreateObject("WScript.Shell")
i = 0
objShell.Run "d:\\1C\\BIN\\1cv7s.exe"
wscript.sleep 120000 ' Pause for 2 minutes


Do While i = 0
strCurrentTime = TimeValue(Now)

  If strCurrentTime  знак_больше #18:00# Then
WScript.Sleep(1000)
objShell.SendKeys("%{F4}")
WScript.Sleep(1000)
objShell.SendKeys("{ENTER}")
WScript.Sleep(1000)
objShell.SendKeys("{ENTER}")
WScript.Sleep(1000)
objShell.SendKeys("{ENTER}")
WScript.Sleep(1000)
objShell.SendKeys("{ENTER}")
WScript.Sleep(1000)
objShell.SendKeys("{ENTER}")
objShell.run "shutdown.exe -L -F"
i = 1 ' Break the loop to prevent the message from appearing again
Else
End If

wscript.sleep 300000 ' Pause for 5 minutes (value in milliseconds) between updating the current time
Loop

'-------------------------------------------------------------------------------------------------------

четверг, 31 октября 2013 г.

Замена iTunes, мини тулза.

Полная замена всего идиотизма iTunes, но он должен быть в системе ( :


https://dl.dropboxusercontent.com/u/1682769/iTools0524E.zip


пятница, 2 августа 2013 г.

Консольная обработка видео - ffmpeg.

По работе иногда нужно из этого - "хер_пойми_какой_кодек_мегабитрейт.avi"  получить адекватное видео которое будет играться практически везде и не будет таким жирным. 


Скачиваем, распаковываем http://www.ffmpeg.org/download.html в с:\ffmpeg

Создаем  code_to_h264.reg  файл, в нем пишем свои пути если надо -

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell]

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Кодировать в H.264]

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Кодировать в H.264\command]
@="с:\\ffmpeg\\to_h264clean.cmd \"%1\""  

[HKEY_CLASSES_ROOT\*\Shell\Кодировать в H.264]

[HKEY_CLASSES_ROOT\*\Shell\Кодировать в H.264\command]
@="с:\\ffmpeg\\to_h264clean.cmd \"%1\""

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Кодировать в H.264 все AVI]

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Кодировать в H.264 все AVI\command]
@="с:\\ffmpeg\\all_avi_to_h264.cmd \"%1\""  

[HKEY_CLASSES_ROOT\*\Shell\Кодировать в H.264 все AVI]

[HKEY_CLASSES_ROOT\*\Shell\Кодировать в H.264 все AVI\command]
@="с:\\ffmpeg\\all_avi_to_h264.cmd \"%1\""


 
Батники -

to_h264clean.cmd

с:\ffmpeg\ffmpeg.exe -i "%1" -vcodec h264 -threads 4 -acodec mp3 -ar 44100 -ab 128k -y %1_h264.avi
pause


all_avi_to_h264.cmd

for /f "tokens=*" %%i in ('dir /b *.avi') do (
x:\!_Vacheslav\My_Private\Dropbox\My_software\ffmpeg\ffmpeg.exe -i "%%i" -vcodec h264 -threads 4 -acodec mp3 -ar 44100 -ab 128k -y %%i_h264.avi
)
pause



Регим  code_to_h264.reg файл в системе.

Вуаля, по правой клавише появилось опция кодировать файл или все AVI в *_h264.avi

Можно конешно добавить опций в батники по типу  - 

-vcodec h264 -threads 4 -r 20 -g 50 -b 500k -bt 500k 


-r FPS
-b -bt килобитность
-g ключевой кадр, по дефолту каждый кадр, влияет на плавность перемотки, большое число уменьшает размер видео.

Архив со всем готовым забираем > ffmpeg.zip









воскресенье, 23 июня 2013 г.

Windows8 + Grub4Dos + AntiSMS

Добавляем live iso антивирусника AntiSMS в загрузочное меню Windows8.

AntiSMS ( не развоод, не дей денег, а именно  грамотная софтина)

http://forum.simplix.ks.ua/viewtopic.php?id=399


Тулза на базе live WinXP чистящая систему и прочие плюшки, в комплекте есть снятие пермишенов на NTFS.

50 мегов в виде ISO, заливка флешку.


Microsoft ушли от текстового файла boot.ini и информация о загрузке содержиться в базе которую так просто не отредактируешь.

Для её редакции они предлагают консольную утилиту bcdedit.

Но есть сторонние с гу-ем например Bootice.

Кривоватая в последних версиях поэтому юзал 1.04.


Добавляем Grub4Dos -  Bootice.exe  > BCD Edit > View/Edit > Add Real Mode Boot Entry > grldr.mbr
Незабываем диск и партишен ставить правильные!

Save current System !
Ошибка ! -
Fix! :

1) run regedit.exe
2) open HKEY_LOCAL_MACHINE\BCD00000000
3) right click on BCD00000000,
4) select Permissions
5) go to Administrators group
6) check Full Control checkbox. We have all rights now.
7) Start BOOTICE v1.04
8) go to BCD Edit tab
9) click View / Edit button
10) now all changes saved by "Save current system" button, are saved correctly.
Кидаем в корень - grldr, menu.lst с :

title AntiSMS
map /Grub4Dos/AntiSMS.iso (0xff)
map --hook
chainloader (0xff)

Помним что ISO для Grub должны лежать не фрагментированными, в случае ошибки юзаем тулзу дефрага отдельных файлов.



суббота, 6 апреля 2013 г.

NAT, DHCP - WinXP


chcp 1251>nul
netsh routing ip nat install
netsh routing ip nat show global
echo если в ответ видим "NAT должен быть установлен первым" - ребутимся, если нет - идём дальше.
netsh routing ip nat add interface "Общее подключение к VPN" full
netsh routing ip nat add interface "Сеть 2" private
netsh routing ip autodhcp uninstall
netsh routing ip autodhcp install
netsh routing ip autodhcp set global 192.168.0.0 255.255.255.0
netsh routing ip autodhcp set interface name="Сеть 2" mode=enable
netsh routing ip autodhcp set interface name="Общее подключение к VPN" mode=disable
netsh routing ip autodhcp add exclusion 192.168.0.2
netsh routing ip autodhcp show interface name="Сеть 2"

пятница, 5 апреля 2013 г.

Убыстрятель Youtube настройка firewall win/linux.

Приходится ждать загрузки видео >360p по несколько секунд, обрывы на середине просмотра стало уже обыденным делом и это с достаточно широким каналом.

Причина в занижении провайдерами скорости к серверам кеширующим видео, всё что нужно сделать это заблокировать доступ к ним.
Для того чтобы запрос шел мимо cdn серверов ютуба надо заблокировать диапазон ip адресов (в роутере или на компьютере)
173.194.55.0/24 и 206.111.0.0/16

под виндой (кроме xp) при включенном брандмауэре достаточно открыть cmd с правами администратора
netsh advfirewall firewall add rule name=«youtube» dir=in action=block remoteip=173.194.55.0/24,206.111.0.0/16 enable=yes

в маке
sudo ipfw add reject src-ip 173.194.55.0/24 in
sudo ipfw add reject src-ip 206.111.0.0/16 in

linux
iptables -I INPUT -s 206.111.0.0/16 -j DROP
iptables -I INPUT -s 173.194.55.0/24 -j DROP

И удалить -
netsh advfirewall firewall delete rule name=«youtube»

понедельник, 17 декабря 2012 г.

CMD - сортировать файлы в каталоги по дате создания



@Echo Off
SetLocal EnableDelayedExpansion
:: Обрабатываемая папка
Set Folder=e:\CAM\video\MPQAL\
:: папка назначения
Set Out=e:\CAM\video\MPQAL\sort\

For /R "%Folder%" %%i In (*.avi) Do (
Set tim=%%~ti
Set tim=!tim:~0,10!
Set tim=!tim:.=-!
If Not Exist "%Out%\!tim!" MD "%Out%\!tim!"
move "%%~i" "%Out%\!tim!">Nul
)




Нужен для софта iSpy - запись с камер , она тупо кладет в 1 каталог, естественно если файлов станет мильен система затормозиться.

вторник, 11 декабря 2012 г.

Установка Win7 c флешки.

В 7-ке / XP  -

DISKPART

( тут смотрим номер нашей флешки в системе )
LIST DISK

SELECT DISK X ( X - наша флешка )
CLEAN
CREATE PARTITION PRIMARY
SELECT PARTITION 1
ACTIVE
FORMAT FS=NTFS LABEL="FLESHKA" QUICK
ASSIGN
EXIT


С двд 7-ки пускаем

\BOOT\BOOTSECT.EXE /NT60 H: ( Н: - наша флешка в системе)


Копируем содержимое DVD с Windows 7 на USB флешку.


Так же можем записать комманды в  diskpart.txt и исполняем

DISKPART /s diskpart.txt

Положиме если нам не нужен 100 мб раздел при установке , 

разбиваем винт во время сетапа нажав  Shift+F10 и пустив скрипт.

воскресенье, 7 октября 2012 г.

7zip - быстро архив.

Быстрое копирование в архив диска "С" без сжатия - 


@echo off
set now=%TIME:~0,-3%
set now=%now::=.%
set now=%now: =0%
set now=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%now%

7z.exe a -mx0 -mmt -ms=off -ssw "d:\test_%now%.7z" -r "c:\" 



-mx0 - не сжимать
-mmt - мультипроцессорность
-ms=off не делать solid архив
-ssw упаковывать открытые файлы

В итоге скорость такой "упаковки" до 200 Мб/c и выше, зависит от HDD.

Получаем один файл - архив, и можем переодически делать дифференциальный - т.е. каждый новый это изменения от полного -

7z u "D:\test.7z" -r -u- -up0q3x2z0!"D:\diff-DD.MM.YY_test.7z" "C:\"

При этом:


Полный архив изменяться не будет, благодаря опции -u-;


Если файл попал в полный архив, но к моменту создания разностного архива был удален из исходного каталога, он будет удален при распаковке разностного архива поверх полного, за это отвечает опция q3;


Если файл в исходном каталоге старее чем файл в полном архиве (не важно, по какой причине), он будет добавлен в разностный архив и при его распаковке поверх полного архива заменит более новый, за это отвечает опция x2.




Если хотим применить самое быстрое сжатие "deflate64"  - 

7z.exe a -mx1 -mm=deflate64 -mmt -ms=off -ssw "d:\test_%now%.7z" -r "c:\"


В этом случае физическая скорость создания архива до 15 Мб/c, у меня с 19 Гб копии до 9Гб ужалось. Положим можно применять при закидывании на 100Mbit NAS.




воскресенье, 23 сентября 2012 г.

Умри бесовское отродье !!!

Убираем затрахавший весь мир флажок в трее он же ActionCenter!


REM *** Take ownership of ActionCenter.dll and rename it ***
TAKEOWN /f C:\Windows\system32\ActionCenter.dll
ICACLS C:\Windows\system32\ActionCenter.dll /grant:r %username%:F
RENAME C:\Windows\system32\ActionCenter.dll ActionCenter.bak

REM *** Take ownership of ActionCenterCPL.dll and rename it ***
TAKEOWN /f C:\Windows\system32\ActionCenterCPL.dll
ICACLS C:\Windows\system32\ActionCenterCPL.dll /grant:r %username%:F
RENAME C:\Windows\system32\ActionCenterCPL.dll ActionCenter.bak




CPL не дал стереть, после перезагрузки в трее не появился.

Win7 Action Center WMI Repository rebuild


Вобщем чтобы не доставал глючными сообщениями тип антивирус вкл, а он кричит незнаю ничего все выкл!!!

NET STOP WINMGMT /Y
REN %WINDIR%\SYSTEM32\WBEM\REPOSITORY REP.OLD 
NET START WINMGMT


четверг, 20 сентября 2012 г.

NAS soft raid

Установил NAS QNAP TS-412U  ( 30k руб. )  
+ 4 SATA 2Tb WD Green.

Создал RAID зеркало, порылся по форумам.. 

Как обычно - ребильд массива после сбоя будет длиться почти сутки!
( гномики там каждый бит чтоли перемагничивают х.з.)
 

Нам такой массив - ненужен, пусть уж лучьше я буду видеть реальные копии, и в случае сбоя воткну новый винт  !!!


Сделаем простой софт раид через robocopy - 


echo Start backup time: %DATE% %TIME% >> backup_time.txt

NET USE * /DEL
NET USE * \\192.168.0.xxx\$IPC /USER:login pass
robocopy \\192.168.0.xxx\backup\1 \\192.168.0.xxx\backup\2 /MIR /LOG:sync.log

echo End backup time: %DATE% %TIME% >> backup_time.txt

суббота, 8 сентября 2012 г.

Рекурсивное сжатие графических файлов.


Достали некоторые деятели выкладывающие на сервер мусорные мига-гига пиксельные фото, ок сожмем и отрежем! )))


Берем фрее тулзу NConvert из XnView -

http://download.xnview.com/NConvert-win.zip


Наш батник -

@echo off

if [%1] == [] goto exit

FOR /r %1 %%d IN (*.jpg) DO "c:\Program Files (x86)\XnView\nconvert.exe" -keepfiledate -q 70 -overwrite -rflag decr -ratio -resize 0 1080 %%d


echo # Done! 

:exit
echo # exit




При запуске с указанием каталога типа - "conv1080.cmd C:\pict" (путь до  nconvert.exe  свой пишем ) сжимает все jpg в нем и в поддиректориях c 70% и пропорционально изменяет до 1080 по вертикали.


Файл меньше чем 1080 просто сжимает без ресайза.


Добавляем кнопку в TotalCommander -

Тащим наш cmd на панель кнопок, в параметрах - "%p%n"

суббота, 25 августа 2012 г.

Чао Adobe!


Работаем с host - посылаем Adobe активации в локалхост :


FIND /C /I " activate.adobe.com" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO ^127.0.0.1 activate.adobe.com>>%WINDIR%\system32\drivers\etc\hosts

FIND /C /I "practivate.adobe.com" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO ^127.0.0.1 practivate.adobe.com>>%WINDIR%\system32\drivers\etc\hosts

FIND /C /I "lmlicenses.wip4.adobe.com" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO ^127.0.0.1 lmlicenses.wip4.adobe.com>>%WINDIR%\system32\drivers\etc\hosts

FIND /C /I "lm.licenses.adobe.com" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO ^127.0.0.1 lm.licenses.adobe.com>>%WINDIR%\system32\drivers\etc\hosts

среда, 22 августа 2012 г.

Zyxel Keennetic fw 2.0 notes


Возникала необходимость отрубить DHCP на LAN (ибо в корп сети), но раздавать инет по WiFi с DHCP.

Отрубаем DHCP -
Стартовый пул = IP роутера в LAN.
Выдаваемых адрессов = 1.
Итого по LAN = 0 выдача, WiFi = 0 выдача...

Но!!! есть еще  Гостевая сеть WiFi где свои правила для DHCP где мы и раздаем гостям.

Интернет DNS незабываем прописать положим гугла 8.8.8.8.  

вторник, 17 апреля 2012 г.

Авто создаем RDP юзеров, прописываем стартап пути.

Скрипт -

http://dl.dropbox.com/u/1682769/userrdp.zip

Пример cmd :

chcp 1251
cscript.exe userrdp.vbs USER PASSWORD "d:\1C\BIN\1cv7s.exe enterprise /Dd:\1C_Bases\Basa
 /NUSER" "d:\1C\BIN\"

среда, 21 марта 2012 г.

Win7 auto activation

1. Ставим статический IP прописанный на прокси.
2. Активируем винду.
3. Возвращаем получать IP через DHCP.
--------------------------------------------
@echo - Plug LAN cabel !!!
CHCP 1251
pause
netsh interface ip set address "Подключение по локальной сети 3" static 192.168.0.223 255.255.255.0 192.168.0.192 1
netsh interface ip set dns "Подключение по локальной сети 3" static 192.168.0.192 primary
pause
cscript %windir%\system32\slmgr.vbs -ipk PWV84-GT6P4-7G3KY-KCKX3-XXXXX
pause
cscript %windir%\system32\slmgr.vbs -ato
pause
netsh interface ip set address "Подключение по локальной сети 3" dhcp
netsh interface ip set dns "Подключение по локальной сети 3" source=dhcp register=PRIMARY

--------------------------------------------

воскресенье, 12 февраля 2012 г.

1C поделки c нуля.

Порылся в 1С писании, наклепал за вечер обработку -
почти  доделанная выгрузка пластика держателей, из 1с 7.7 в формат DBF для СБРФ.

//*******************************************
Процедура Сформировать()
НомерПП=1;
// Выгрузка ТЗ, Таблицы значений в DBF файл
НачВремя = _GetPerformanceCounter(); // Запоминаем время запуска алгоритма

ДБФ = СоздатьОбъект("XBASE");

Док=СоздатьОбъект("Справочник.Сотрудники");
// ДБФ.КодоваяСтраница(0);

ДБФ.ДобавитьПоле("A","S",30,0);
ДБФ.ДобавитьПоле("B","S",29,0);
ДБФ.ДобавитьПоле("C","S",10,0);
ДБФ.ДобавитьПоле("D","S",10,0);
ДБФ.ДобавитьПоле("E","S",19,0);
ДБФ.ДобавитьПоле("F","S",14,0);
ДБФ.ДобавитьПоле("G","S",30,0);


ДБФ.КодоваяСтраница(1); // Windows

ДБФ.СоздатьФайл("c:\up\test.dbf");
// Справочник.Сотрудники.ВыбратьСтроки();

ДБФ.Добавить();
ДБФ.A="Автозаводское отделение 8213";
ДБФ.Записать();

ДБФ.Добавить();
ДБФ.A="К платежному поручению";
ДБФ.Записать();
ДБФ.Добавить();
ДБФ.A="Зачисление";
ДБФ.Записать();
ДБФ.Добавить();
ДБФ.A="Наименование(ОГРН) предприятия";
ДБФ.Записать();
ДБФ.Добавить();
ДБФ.A="По договору";
ДБФ.Записать();
ДБФ.Добавить();
ДБФ.A="№ п/п";
ДБФ.B="Номер счета";
ДБФ.C="Фамилия";
ДБФ.D="Имя";
ДБФ.E="Отчество";
ДБФ.F="Сумма";
ДБФ.G="Примечание";

ДБФ.Записать();
ДБФ.Добавить();

Док.ВыбратьЭлементы();


Пока Док.ПолучитьЭлемент()=1 Цикл

Если ПустаяСтрока(Док.НомерЗарплатногоСчета)=0 Тогда

ДБФ.Добавить();
ДБФ.A = НомерПП;
НомерПП=НомерПП+1;
ДБФ.B = Док.НомерЗарплатногоСчета;
ФИО = глРазделить(Док.Наименование," ");
Фамилия = СтрПолучитьСтроку(ФИО,1);
Имя = СтрПолучитьСтроку(ФИО,2);
Отчество= СтрПолучитьСтроку(ФИО,3);
ДБФ.C = Фамилия;
ДБФ.D = Имя;
ДБФ.E = Отчество;
 
ДБФ.Записать();
КонецЕсли;
КонецЦикла;

ДБФ.Добавить();
ДБФ.B = "ИТОГО:";
ДБФ.Записать();

ДБФ.ЗакрытьФайл();

КонВремя = _GetPerformanceCounter(); // Запоминаем время окончания алгоритма
// Рассчитываем продолжительность выполнения алгоритма в секундах
Длительность = Окр((КонВремя-НачВремя)/1000,3);
Сообщить("Время выгрузки в DBF файл: "+Длительность+" с");

КонецПроцедуры
//*******************************************


Спасибо товарищу сделавшему обработку со всеми причиндалами
тынц- http://dl.dropbox.com/u/1682769/vygruzkasberbank.zip


Добавляем как кнопку в интерфейс -

1С Конфигуратор >  Конфигурация > Открыть Конфигурацию > Интерфейсы> тык тык > Панель интсрументов > Добавить кнопку > Задача  Задача.выполнить > Формула

"ОткрытьФорму("Отчет",,"D:\sbrfdrop.ert"); "