Войти

Показать полную графическую версию : Изменение размещения папки "Общие документы".


d3dyd
03-11-2012, 02:09
Хочу, чтобы папка находилась по адресу: D:\Общие документы

Чтобы это сделать ручками, нужно прописать новое местоположение в реестре в двух местах:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell folders
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

А как это сделать в одном батничке?
Никак не получается. Помогите, пожалуйста, умные люди!

Iska
03-11-2012, 08:58
Никак не получается. »
И где Ваш код, в котором никак не получается?

d3dyd
03-11-2012, 13:39
Я думал вы подскажете.
Я пробовал так:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell folders" /v Common Documents /t REG_SZ /d D:\Общие документы /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Common Documents /t REG_SZ /d D:\Общие документы /f

Iska
03-11-2012, 13:57
@echo off
setlocal enableextensions enabledelayedexpansion

reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell folders" /v "Common Documents" /t REG_SZ /d "D:\Общие документы" /f >nul
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Documents" /t REG_SZ /d "D:\Общие документы" /f >nul

endlocal
exit /b 0


А можно и так:
@echo off
setlocal enableextensions enabledelayedexpansion

for %%i in ("Shell folders" "User Shell Folders") do (
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\%%~i" /v "Common Documents" /t REG_SZ /d "D:\Общие документы" /f >nul
)

endlocal
exit /b 0

gora
03-11-2012, 14:10
Iska, правильнее первый вариант, ибо во второй ветке нужно использовать REG_EXPAND_SZ вместо REG_SZ

d3dyd, не забудьте про кодировку батника (кириллица DOS (866)).
Вас не смущает, что во второй ветке нет абсолютных путей и они все прописаны через переменные?

Iska
03-11-2012, 17:02
Iska, правильнее первый вариант, ибо во второй ветке нужно использовать REG_EXPAND_SZ вместо REG_SZ »
В данном случае сие необязательно, поскольку автор использует прямой путь, без переменных. Вся разница между REG_EXPAND_SZ и REG_SZ в том, что если читать параметр REG_EXPAND_SZ как REG_SZ — переменные окружения, содержащиеся в параметре типа REG_EXPAND_SZ будут автоматически раскрыты.




© OSzone.net 2001-2012