Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   (solved)Как получить переменную, содержащую путь к директории Documents and Settings? (http://forum.oszone.net/showthread.php?t=56578)

arial 13-11-2005 21:18 373558

(solved)Как получить переменную, содержащую путь к директории Documents and Settings?
 
Сабж, учитывая то, что при установке эта директория могла быть переименована (например в Profiles).

serotka 13-11-2005 23:04 373579

Цитата:

Сабж, учитывая то, что при установке эта директория могла быть переименована (например в Profiles).
Попробуй эти:
%USERPROFILE%
%ALLUSERSPROFILE%
%HOMEDRIVE%

arial 14-11-2005 01:46 373606

%USERPROFILE% - C:\Documents and Settings\User
%ALLUSERSPROFILE% - C:\Documents and Settings\All Users
%HOMEDRIVE% - C:

А надо получить C:\Documents and Settings

Vadikan 14-11-2005 04:16 373620

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

@echo off
set file=%temp%\profiledir.txt
echo %userprofile% >> %file%
FOR /F "usebackq delims=\ tokens=1,2*" %%i IN (%file%) do set mydir=%%i\%%j\
echo My dir is %mydir%
pause
del /q %file%
exit

Берется путь к профилю, пишется в файл, первые два элемента (tokens) разделенных слэшами (delims) передаются в виде переменных i и j, а файл потом удаляется. Может можно и поизящнее, но я не большой специалист по пакетным файлам :)
Добавлено. Можно не писать в файл, а делать REG QUERY по какому-нибудь ключу, содержащему путь к профилю. Например, APPDATA в HKEY_CURRENT_USER\Volatile Environment. Так скрипт будет покороче.

arial 14-11-2005 17:16 373837

Цитата:

На самом деле, не совсем понятно зачем все это нужно.
В теме Твики реестра есть совет, как перенести полностью настроенный профиль Administrator в профиль Default User:
Цитата:

rem Очистка папки пользователя по умолчанию
RD /s /q "%systemdrive%\Documents and Settings\Default User"

rem Копирование текущего профиля в дефолтовый
xcopy "%USERPROFILE%\*.*" "%systemdrive%\Documents and Settings\Default User" /e /c /I /H /R /K /Y
del /f /q "%systemdrive%\Documents and Settings\Default User\*.*"
attrib +h "%systemdrive%\Documents and Settings\Default User"

rem Копирование реестра
reg save HKCU "%systemdrive%\Documents and Settings\Default User\ntuser.dat"
attrib +H +S "%systemdrive%\Documents and Settings\Default User\ntuser.dat"
Вот для этого и нужно.

zvezduk 15-11-2005 10:04 374042

Код:

FOR /F "tokens=2 delims=\" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Desktop"') DO SET DESKTOP=%%A
Если стоит русская винда, то возникает проблема с кодировками, папка "Рабочий стол" в cmd выглядит как "╨рсюўшщ ёЄюы" :). Может кто-то подскажет как с этим справиться.

ANDYru 15-11-2005 11:06 374062

zvezduk
используйте кодировку DOS-866 для написания CMD файлов , советую прогу AkelPad 2.1.5 _http://akelpad.net.ru/download/akelpad.zip

HWG 15-11-2005 11:22 374070

zvezduk
Посмотри на команду chcp.

zvezduk 15-11-2005 12:05 374091

Не могу найти номер кодовой страницы для unicode. Он вообще в cmd поддерживается?

HWG 15-11-2005 12:09 374092

zvezduk
Юникод тебе не нужен, поставь перед своим примером chcp 1251.

zvezduk 15-11-2005 12:33 374096

1251 не катит, проверял :(. Насколько я знаю, там unicode.

EgOrus 15-11-2005 15:50 374160

arial
SET wdir=%AllUsersProfile%
SET wdir=%wdir:~0,-10%


arial 15-11-2005 15:58 374164

EgOrus
Премного благодарен!
Вопрос закрыт! :cool:


Время: 07:59.

Время: 07:59.
© OSzone.net 2001-