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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Получить %appdata% всех пользователей и скопировать туда набор файлов. (http://forum.oszone.net/showthread.php?t=197298)

mozk 22-01-2011 06:35 1594488

Получить %appdata% всех пользователей и скопировать туда набор файлов.
 
Скрипт, по замыслу, запускает WPI с компкат диска под админом. Дальше алгоритм такой:
  1. Получаем имя пользователя
  2. Получаем путь к его %appdata%
  3. Копируем туда файл/папку
  4. Go to пункт 1

Затык собственно на первых двух пунктах, как лучше сделать и возможно ли такое в принципе на BAT/CMD?
Нужно получать имена пользователей от системы? Или лучше сканировать папку с профилями?
Как получить список папок в директории известно, но как этот список подставлять в переменные?
И еще права на файлы нужно соблюсти. Думается что пользователь ничего сделать не сможет с тем файликами которые скопируются от админа? Или они системой верно назначаются?

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

amel27 22-01-2011 18:47 1594764

пример копирования папки "C:\TEST" в "%appdata%\TEST" всех профилей КРОМЕ скрытых (Default User, LocalService, NetworkService) и профиля "All Users":
Код:

for /f "delims=" %%a in ('dir/b/ad-h "%userprofile%\..\*"^|findstr/ixvc:"All Users"') do (
  xcopy /q/s/y/r/h "C:\TEST\*" "%userprofile%\..\%%a\Application Data\TEST\"
)


mozk 23-01-2011 15:45 1595443

Благодарю за готовое решение!
Вот код батника где оно используется:
Код:

@Echo Копируем настройки XnView...
@CD /D "%~dp0"
@SET way=.
@for /f "delims=" %%a in ('dir/b/ad-h "%userprofile%\..\*"^|findstr/ixvc:"All Users"') do (  xcopy /q/s/y/r/h "%way%\xnview.ini" "%userprofile%\..\%%a\Application Data\XnView\" )



Время: 16:16.

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