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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Автоматизация рутийных действий с профилем пользователя

Ответить
Настройки темы
Любой язык - [решено] Автоматизация рутийных действий с профилем пользователя

Старожил


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

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


Доброго дня.
Прошу помощи в решении такой задачки:
Пишу скриптик для автоматизации рутийной работы по переносу профиля пользователя с диска С на D
проблема скрипта сейчас - это при копировании профиля, постоянно спрашивает каталог это или нет, а так же не может подкаталоги пересоздать
и после изменения путей реестра, использование новых путей
Код: Выделить весь код
@ECHO off
cls

ECHO.
ECHO VIEW PROFILES USERS
rem просмотр текущей конфигурации профиля
cd c:\users
dir /b


set profiles=
rem обнуление переменной

set /p profiles=Enter name copy user: 
rem ввод пользователем значения переменной choice

ECHO ______________________________________________________________________________________________
ECHO  SHOW REGEDIT Profiles
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Desktop
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music"
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures"
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video"
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal
ECHO ______________________________________________________________________________________________
pause

:start
cls
ECHO.
ECHO 1 SHOW LINE REG
ECHO 2 xcopy profiles disk D:\
ECHO 3 UPDATE REGEDIT PROFILES
ECHO 4 DELETE OLD PROFILES
ECHO 0 Exit
rem вывод меню для пользователя


set choice=
rem обнуление переменной choice

set /p choice=Enter the number of your choice: 
rem ввод пользователем значения переменной choice

if '%choice%'=='1' goto one
rem если значение choice равно единице, то перейти к метке one
if '%choice%'=='2' goto two
if '%choice%'=='3' goto three
if '%choice%'=='4' goto for
if '%choice%'=='0' goto end
if '%choice%'=='' goto start


ECHO "%choice%" is not valid. Please try again
ECHO.
goto start
rem если введенное пользователем значение не предусмотрено, то начать сначала

:one
rem просмотр реестра                                                                           
ECHO ______________________________________________________________________________________________
ECHO  SHOW REGEDIT Profiles
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Desktop
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music"
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures"
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video"
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal
ECHO ______________________________________________________________________________________________
pause
goto start

:two
d:
md %profiles%
cd d:\%profiles%
md Desktop
md Favorites
md Music
md Pictures
md Videos
md Personal
xcopy %userprofile%\Desktop\*.*  d:\%profiles%\Desktop /E /C /H /R /Y    
xcopy %userprofile%\Documents\*.*  d:\%profiles%\Documents /E /C /H /R /Y    
xcopy %userprofile%\Favorites\*.*  d:\%profiles%\Favorites /E /C /H /R /Y    
xcopy %userprofile%\Music\*.*  d:\%profiles%\Music /E /C /H /R /Y    
xcopy %userprofile%\Pictures\*.*  d:\%profiles%\Pictures /E /C /H /R /Y    
xcopy %userprofile%\Videos\*.*  d:\%profiles%\Videos /E /C /H /R /Y    
pause
goto start

:three
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Desktop /t REG_SZ /d D:\%profiles%\Desktop /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites /t REG_SZ /d D:\%profiles%\Favorites /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music" /t REG_SZ /d "D:\%profiles%\Music" /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures" /t REG_SZ /d "D:\%profiles%\My Pictures" /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music" /t REG_SZ /d "D:\%profiles%\Music" /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video" /t REG_SZ /d "D:\%profiles%\My Video" /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal /t REG_SZ /d D:\%profiles%\Personal /f
pause
goto start

:for

pause


:end
рассмотрю варианты оптимизации

Отправлено: 16:52, 15-07-2016

 

Ветеран


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

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


Fantastish, Вы в курсе, что такое симлинки?

Отправлено: 17:44, 15-07-2016 | #2



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

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


Старожил


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

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


ссылка без относительных путей верно?
описание почитал, но не работал сними в практике.
Подскажите, как выйти из ситуации?

Последний раз редактировалось Fantastish, 18-07-2016 в 13:24.


Отправлено: 12:51, 18-07-2016 | #3


Ветеран


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

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


Создавать их надо по новому местоположению.

Отправлено: 14:22, 18-07-2016 | #4


Старожил


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

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


жаль не до конца понимаю этого, в качестве примера, можете подсказать варианты реализации через батник?

Отправлено: 14:43, 18-07-2016 | #5


Ветеран


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

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


Неа.

Отправлено: 17:00, 18-07-2016 | #6


Старожил


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

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


Проще всего получится реализовать через групповую политику?
или например вариант:
Код: Выделить весь код
mklink /j c:\Users d:\Users
	mklink /j "d:\Users\All Users" c:\ProgramData
	mklink /j "d:\Users\Default User" d:\Users\Default
	mklink /j "d:\Users\Все пользователи" c:\ProgramData
но использовать для папок?
или
Код: Выделить весь код
set userfolder=d:\Users\**

if exist "%userfolder%\My Documents" rd /s /q "%userfolder%\My Documents"
mklink /j "%userfolder%\My Documents" "%userfolder%\Documents"
attrib +H "%userfolder%\My Documents" /L

Последний раз редактировалось Fantastish, 19-07-2016 в 16:49.


Отправлено: 15:57, 19-07-2016 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Автоматизация рутийных действий с профилем пользователя

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Автоматизация действий в программе Alexander_88 Скриптовые языки администрирования Windows 3 14-12-2015 16:42
Автоматизация действий в браузере alex.n201 AutoIt 2 23-11-2015 20:49
Разное - [решено] Непонятное с профилем пользователя. S*2012* Microsoft Windows 2000/XP 3 09-08-2012 23:18
[решено] проблемы с профилем пользователя ffsam Microsoft Windows NT/2000/2003 6 15-02-2010 13:06
проблема с профилем пользователя dimds Microsoft Windows NT/2000/2003 2 13-11-2006 13:22




 
Переход