Решение проблемы со значками и файлами в MS Office

После того как я поменял жесткий диск путем переноса Acronis’ом у меня пропали значки ярлыков MS Office.
В инете нашел несколько решений данной проблемы.

Способ 1
а. Запускаем cmd от имени администратора

б. Завершаем процесс проводника:
или в cmd командой

taskkill /im explorer.exe /f

или
в меню пуск на пустом месте (возле кнопки завершения работы например) удерживая Ctrl и Shift нажмите правую кнопку мыши и выберите Выход из Проводника

в. Поочередно выполняем следующие команды:

cd %userprofile%\appdata\local
attrib -h IconCache.db
del IconCache.db
explorer

г. Перезагружаемся

Способ 2
а. Находим параметр искомого расширения, на котором не отображается иконка (в нашем случае это например .doc), в реестре «HKEY_CLASSES_ROOT\.doc». Значение по умолчанию для данного параметра (для Office 2010) «Word.Document.8».

б. По полученному параметру переходим в реестре «HKEY_CLASSES_ROOT\Word.Document.8». Находим параметр «DefaultIcon». По умолчанию у меня это значение имеет «C:\Windows\Installer\{90140000-0011-0000-0000-0000000FF1CE}\wordicon.exe,1».

в. У меня папки «C:\Windows\Installer\{90140000-0011-0000-0000-0000000FF1CE}» не было. Я скопировал ее с другого компьютера, где с ярлыками все в порядке было (на другом ПК папка будет скорее всего по другому называться, найти ее можно по пунктам 1 и 2), в каталог «C:\Windows\Installer» и переименовал ее в соответствии с параметром «HKEY_CLASSES_ROOT\Word.Document.8\DefaultIcon».

г. Перезагружаем компьютер и проверяем результат.

Мне помог первый способ.

Удаляем указанную папку на сервере средствами php

В продолжении темы https://yavasilek.ru/raspakovka-arxiva-na-servere-sredstvami-php/
В прошлом посте мы узнали о методе распаковки архива на сервере.
Теперь давайте разберем как удалить указанную папку на сервере. Понятное дело, что папку можно удалить и подключившись FTP, но порою у нашей папки сложная структура с большим кол-вом вложений у удаление при подключение через FTP очень сильно затягивается.
Итак для удаления папок на сервере необходимо использовать следующую функцию:

function RemoveDir($path)
{
	if(file_exists($path) && is_dir($path))
	{
		$dirHandle = opendir($path);
		while (false !== ($file = readdir($dirHandle))) 
		{
			if ($file!='.' && $file!='..') 
			{
				$tmpPath=$path.'/'.$file;
				chmod($tmpPath, 0777);
				
				if (is_dir($tmpPath))
	  			{  // если папка
					RemoveDir($tmpPath);
			   	} 
	  			else 
	  			{ 
	  				if(file_exists($tmpPath))
					{
	  					unlink($tmpPath);
					}
	  			}
			}
		}
		closedir($dirHandle);
		if(file_exists($path))
		{
			rmdir($path);
		}
	}
	else
	{
		echo "Папка не найдена";
	}
}

Что бы использовать приведенную функцию необходимо передать ей адрес папки к примеру вот так:

$DeletedFolder='/folder';
RemoveDir($_SERVER['DOCUMENT_ROOT'].$DeletedFolder);

Если скрипт подвисает, то значит, что у Вас огромное кол-во папок и файлов — просто обновите страницу и скрипт продолжит удалять ))

Уменьшения log файла ms sql

Возникла проблема. Очень вырос log файл одной из баз.

Забекапить лог и шинкануть его — не давало никакого результата. Как оказалось, у данной базы была включена репликация, но никуда ничего не реплицировалось. Для того что бы узнать включена ли репликация необходимо выполнить команду

DBCC OPENTRAN

У меня она выводит следующую информацию

ransaction information for database 'имя базы'.

Replicated Transaction Information:
        Oldest distributed LSN     : (0:0:0)
        Oldest non-distributed LSN : (17444:25:1)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Для решения проблемы необходимо выполнить скрипт

Execute SP_ReplicationDbOption [имя базы],Publish,true,1
GO
Execute sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1
GO
DBCC ShrinkFile([имя лога],0)
GO
Execute SP_ReplicationDbOption [имя базы],Publish,false,1
GO
backup log [имя базы] with truncate_only
GO
dbcc shrinkfile(2, truncateonly)
GO

После выполнения данного скрипта отключится репликация для базы и log файл уменьшится в размере.

Перед выполнением скрипта не забудьте выполнить резервную копию.

Как вытащить видео из презентации ppt?

Дали мне тут презентацию и сказали, что в ней есть видео и это видео надо выдернуть.

Без проблем. Меняем расширение документа на zip. Распаковываем документ и в структуре папок находим нужное видео

Автозагрузка в Windows 8

В Windows 8 разработчики немного усложнили добавление программ в автозагрузку. Для того что-бы быстро открыть папку автозагрузки достаточно ввести

%AppData%\Microsoft\Windows\Start Menu\Programs\Startup