Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как изменить библиотеки в Windows7?

Ответить
Настройки темы
CMD/BAT - Как изменить библиотеки в Windows7?

Пользователь


Сообщения: 99
Благодарности: 4

Профиль | Отправить PM | Цитировать


Изменения
Автор: SvoiLudi
Дата: 30-05-2010
Как изменить библиотеки в Windows7?

Поменял местоположение папки МОИ ДОКУМЕНТЫ, а в библиотеках в проводнике показывается по-старому (с:\users). пробовал копировать файл библиотеки документов - не получается. но если нажать -ПУСК-ДОКУМЕНТЫ - показывает уже новое местоположение. то же самое по другим библиотекам.

Код: Выделить весь код
rem Создаю папку МОИ ДОКУМЕНТЫ и другие папки md "V:\Мои Документы"  rem Копирую Документы, Рабочий Стол, Избранное... этого пользователя с раздела, где Windows, на раздел с документами Xcopy "%USERPROFILE%"\Favorites "v:\Избранное /v /f /e /h /y Xcopy "%USERPROFILE%"\"Documents" "v:\Мои Документы" /v /f /e /h /y  rem То же самое для Общей информации  md "V:\Общие\Общие Документы"  Xcopy "%PUBLIC%"\"Documents" "v:\Общие\Общие Документы" /v /f /e /h /y /s   rem Скроем исходные папки  attrib +h "%USERPROFILE%"\"Documents"   rem Настраиваем Windows на использование этих папок FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d:\32x.reg SET MyFlashDrive=%%d: copy "%MyFlashDrive%\Documents.library-ms" "v:\Библиотеки с Windows 7 и новее\Documents.library-ms" /v /y    For /F "Tokens=7 Delims=\" %%A In ('REG QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /s^|find "S-1-5-21-"') Do (        REG QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\%%A" /v ProfileImagePath|Find /I "%username%" >nul&&Call :Func %%A&&GoTo :EOF ) Echo Профиль пользователя %ProfileName% не найден. GoTo :EOF  :Func :: Здесь пишем свои команды, SID передается в качестве параметра %1. Пример команды ниже Echo Профиль пользователя %ProfileName% найден, его SID - %1   REG ADD "HKEY_USERS\%1\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v {1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE} /t REG_SZ /d "v:\Библиотеки с Windows 7 и новее" /f   REG ADD "HKEY_USERS\%1\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" /t REG_SZ /d "v:\Мои Документы" /f     REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Documents" /t REG_SZ /d "v:\Общие\Общие Документы" /f   REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /f /v "Common Desktop" /t REG_EXPAND_SZ /d "v:\Общие\Общий Рабочий стол"   Set xOS=x86  If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 rem if "%xOS%"=="x64" "%WINDIR%\regedit.exe" /s "%MyFlashDrive%\64x.reg"  if "%xOS%"=="x64" REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\Shell Folders" /v "Common Documents" /t REG_SZ /d "v:\Общие\Общие Документы" /f  if "%xOS%"=="x64" REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\User Shell Folders" /f /v "Common Documents" /t REG_EXPAND_SZ /d "v:\Общие\Общие Документы"

Отправлено: 21:44, 28-05-2010

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SvoiLudi:
не скачал ещё ни одной утилиты, а скрипт работает »
без утилит только правка реестра, XML можно поправить только программно

Цитата SvoiLudi:
хочу заменить путь »
SLUtil вроде может создавать библиотеки по нестандартным путям, удалите текущую библиотеку "Документы", создайте новую "v:\Библиотеки с Windows 7 и новее", добавьте в неё нужные каталоги...

FYI: Administratively Create and Modify Windows 7 Libraries

Отправлено: 16:43, 30-05-2010 | #11



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

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


Пользователь


Сообщения: 99
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата amel27:
без утилит только правка реестра, XML можно поправить только программно »
удивительно, но файл библиотеки документов имеет сегодняшнюю дату изменения

а внутри есть V - указание но новую папку
Код: Выделить весь код
<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <name>@shell32.dll,-34575</name>
  <ownerSID>S-1-5-21-351282624-4030952982-2499520814-1001</ownerSID>
  <version>22</version>
  <isLibraryPinned>true</isLibraryPinned>
  <iconReference>imageres.dll,-1002</iconReference>
  <templateInfo>
    <folderType>{7d49d726-3c21-4f05-99aa-fdc2c9474656}</folderType>
  </templateInfo>
  <propertyStore>
    <property name="HasModifiedLocations" type="boolean"><![CDATA[true]]></property>
  </propertyStore>
  <searchConnectorDescriptionList>
    <searchConnectorDescription>
      <isSupported>true</isSupported>
      <simpleLocation>
        <url>V:\¦Ю¦-TЙ¦¬¦¦\¦Ю¦-TЙ¦¬¦¦ ¦Ф¦-¦¦TГ¦-¦¦¦-TВTЛ</url>
        <serialized>MBAAAEAFCAAAAAAAADAAAAAAAY0gAAQBwAAAAArCot80XrcAc+xNPP91KHg4ydS93UtyBAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgWAUAwHQB+TQDi66kGEiiNCAsCMw0ZGA8iV6wFAAAAAAAAAAAAAAAAAAAAAAAAAOBQMAAAAAAQi8AAWQAARCFER+FDAAgDAIAABA8uvJyDAYlIPAglKAAAABFAAAAAADAAAAAAAAAAAAAAAAAAAA4BBxQQSEgDB1QAAAYBArDQMAAAAAAgh80mGwAAMFVEO+FDAAwEAIAABA8uvJyDAYlIPDglKAAAAFFAAAAAADAAAAAAAAAAAAAAAAAAAA4BBxQQSEgDB1QAIAQBB+QgOEMEB8QQNE0DBCRwSEAAAWAQiAIAAOAw7+GAAUAwHQB+TQDi66kGEiiNCAsCMw0ZGA8iV6wFAAAAAAAAAAAAAAAAAAAAAAAAAOBQMAAAAAAQi8AAWQAARCFER+FDAAgDAIAABA8uvJyDAYlIPAglKAAAABFAAAAAADAAAAAAAAAAAAAAAAAAAA4BBxQQSEgDB1QAAAYBAAAgFAAAAhBAAAwBAAAQAAAAAcAAAAcEAAAAAAAAAgBAAAsCAAAwAAAAA5RAcyCBAAAARvtWdtVmb0lHItAC5r/PII3M1ODNzAbNyIDgV6wlzhnP6lzlzhnP6lDCxur+8sXe7yvPAAgCAAAQCAAAocAAAAEzUQNl4KilR8yEODtL/TMpJY2mzAAAAAAAAAAAYAAAADAAAgiFAAAAAAAAAx0yrqCAAAAAAAAAAAAAAAgEwxRbm5OWR86MQKw5/q/djxb3kJP03RMriIAwJAyS0IBcc0mZujVEvODkCc+v6f3Y82NZyD9dEzqICAcCgsENAAAAA</serialized>
      </simpleLocation>
    </searchConnectorDescription>
    <searchConnectorDescription>
      <isDefaultSaveLocation>true</isDefaultSaveLocation>
      <isSupported>true</isSupported>
      <simpleLocation>
        <url>knownfolder:{FDD39AD0-238F-46AF-ADB4-6C85480369C7}</url>
        <serialized>MBAAAEAFCAAAAAAAADAAAAAAAY0gAAQBRAAAAcQt1NAOVrcA5wHnVgT1KHwemp8H4UtyBAAEAAAAAAAABAAAAAAAAAAAAAAAAAAAA0IAUAwHQB+TQDi66kGEiiNCAsCMw0ZGA8iV6wFAAAAAAAAAAAAAAAAAAAAAAAAAeBQMAAAAAAgv84EWyAQN2ETN+FDAAgEAIAABA8uvTyzVN6LPOhlKAAAAmAAAAAAACAAAAAAAAAAAAAAAAAAAAwBB+QAOEACAUQgPEoDBDRAPEUDB9QgQEsEBAAgFAAAABCAAAwBAAAwAAAAAcAAAAgEAAAAVAAAA1BAAAwCAAAwAAAAA0Vc/4DBAAAwVp5GZvd3cg0CItXOIkv+/ggczU7M0MDs1IjMADpDXVNXZyNHXAAAAhAAAAIAAAAAFAAAAAAAAAAAACAAXcFTLPrMXVNXZyNHAxwFRvNWdtVmb0NHAgBAAAMAAAAKWAAAAAAAAAETLvqKAAAAAAAAAAAAAAAgbxQ3hjHHfDFbG6F/G9QrZTRBZPkTQfHRm+iAAnAILR7WM0d44xx3QxmhexvRP0a2UUQ2D5E03RkpvIAwJAyS0QAAAAUAAAAaBAAAALCAAAwBAAAwCAAAoQr509/4IvaUr0yWhINQaHvIAAAQlAAAAJAAAgmIAAAQMTB1UirIWGxLT4M0u8PxkmgZbO3GAAAABAAAAA8BAAAgLAAAATBQLAEDAtAQNA0CAyAQMA0CAzAQNAEDAyAAOAIDA2AgMAQDAtAANAADAzAAMAkDA1AgMAkDA4AgMA0CAyAANAkDA5AQNAIDAwAAOAEDA0AQLAEDAwAAMAEDAAAAAAAAAAAAAAAAAAAA</serialized>
      </simpleLocation>
    </searchConnectorDescription>
  </searchConnectorDescriptionList>
</libraryDescription>

Последний раз редактировалось SvoiLudi, 30-05-2010 в 20:08.


Отправлено: 18:39, 30-05-2010 | #12


Пользователь


Сообщения: 99
Благодарности: 4

Профиль | Отправить PM | Цитировать


ведь винда откуда-то знает, что библиотеки на диске C

откуда? где хранится? как меняется?

Отправлено: 20:21, 30-05-2010 | #13


Пользователь


Сообщения: 99
Благодарности: 4

Профиль | Отправить PM | Цитировать


целиком профиль пользователя переносить не хочу по причинам:

1) полетел реестр пользователя; при восстановлении диска C из образа часть реестра, которая лежит в Windows - восстановится, а та часть, которая находится в папке пользователя - нет. и толку от восстановления из образа не будет

Отправлено: 20:50, 30-05-2010 | #14


Пользователь


Сообщения: 99
Благодарности: 4

Профиль | Отправить PM | Цитировать


где скачать ShLib.exe ?

Отправлено: 21:06, 30-05-2010 | #15


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SvoiLudi:
где скачать ShLib.exe ? »
по линку из поста #7

Отправлено: 00:51, 31-05-2010 | #16


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата SvoiLudi:
где скачать ShLib.exe ? »
SvoiLudi, Вы пометили сообщение #7 как полезное. Прочтите же его ещё раз: коллега amel27 привёл там искомую ссылку.

P.S. Опоздал .

Отправлено: 00:55, 31-05-2010 | #17


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SvoiLudi:
удивительно, но файл библиотеки документов имеет сегодняшнюю дату изменения »
удивительно другое - похоже, что после правки ключей реестра Shell Folders/User Shell Folders система правит и XML, поэтому в скрипте я поставил вызов утилит ПЕРЕД правкой этих ключей (иначе возникает конфликт доступа)... кроме того, при правке XML добавляются некоторые пути поиска в "Windows Search", поэтому в скрипте вызов утилит стоит ПОСЛЕ правки ключей "Windows Search"

P.S. исследовать все эти зависимости глубже не хватило выходного...

Отправлено: 03:14, 31-05-2010 | #18


Пользователь


Сообщения: 99
Благодарности: 4

Профиль | Отправить PM | Цитировать


amel27, не могу понять принцип Вашего алгоритма. Не могли бы прокоментировать подробнее? Хотелось бы сделать такое для других пользовательских папок

Отправлено: 08:14, 07-09-2010 | #19


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


SvoiLudi,

- каждой библиотеке соответствует один вызов "CALL :REDIR список параметров";
- параметры описаны в начале процедуры :REDIR;
- по поводу алгоритма спрашивайте конкретно (какие строчки)

P.S. скрипт правит библиотеки только текущего пользователя

Отправлено: 07:34, 15-09-2010 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как изменить библиотеки в Windows7?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Documents.library-ms - как перенастроить библиотеки в Windows 7? SvoiLudi Скриптовые языки администрирования Windows 0 09-04-2010 23:34
Разное - [решено] Как найти себе Windows7? baa123 Microsoft Windows 7 4 13-11-2009 17:34
Интерфейс - Как убрать ненужные папки из библиотеки? die-frage Microsoft Windows 7 0 06-11-2009 11:56
C/C++ - [решено] Как в С вызвать функцию из Delphi библиотеки? mingw Программирование и базы данных 6 06-07-2009 10:11
Как узнать какие библиотеки динамически линкуются Mihael Общий по Linux 10 30-01-2003 04:12




 
Переход