Перейти к содержанию
    

Как скриптом изменить собственника папки со всем её содержимым?

Это под Win7, достало уже при переносе проектов с компа на комп приходится менять собственника у каждого файла. А если файлов в папке сотни то задача становится неподъёмной. Как этот процесс автоматизировать? Наверняка должно быть решение.(Заодно было бы неплохо изменить и атрибуты файлов в этой папке для полного доступа).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверняка должно быть решение.(Заодно было бы неплохо изменить и атрибуты файлов в этой папке для полного доступа).

Не оно?

https://technet.microsoft.com/en-us/library...4(v=ws.11).aspx

 

Для изменения ACL есть Icacls - https://technet.microsoft.com/en-us/library...5(v=ws.11).aspx

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, это оно,спасибо. Я уже изменил собственность всех файлов командой

takeown /F "d:\Projects_13_1\Calibrator\software\Calibrator_APP" /R /D Y

 

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

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

 

Команда icacls проходит успешно, а атрибуты файлов не изменяются. Что пропустил?

icacls "d:\Projects_13_1\Calibrator\software\Calibrator_BSP" /T /grant:r Anatoliy_1:F

 

Похоже атрибуты таки сработали, только не отображались новые.

Остаётся вопрос по закрыванию окна при запуске пакетного файла. Вышеописанные команды выполнял в командной строке,не очень удобно.

post-18832-1486377635_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, это из серии lmgify...

In Get-Item set patch to couple files or whole folder.

 

Example:

 

Get-Item p:\*.txt | foreach {$_.Attributes = 'Normal'}

 

or if you have many files and folder you may also use Get-ChildItem with param -Recurse to get recursively item.

 

Get-ChildItem p:\ -Recurse | foreach {$_.Attributes = 'Normal'}

Консоль powershell, в семерке есть. Первое для файлов в папке по маске, второе для всех файлов и для подпапок. Написать в текстовый файлик, потом запускать. Можно еще сверху нарисовать красивый батник, который будет запускать окошко консоли, в котором будет писаться вывод ps скрипта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, это из серии lmgify...

 

Консоль powershell, в семерке есть. Первое для файлов в папке по маске, второе для всех файлов и для подпапок. Написать в текстовый файлик, потом запускать. Можно еще сверху нарисовать красивый батник, который будет запускать окошко консоли, в котором будет писаться вывод ps скрипта.

Спасибо!

Остаётся вопрос по закрыванию окна при запуске пакетного файла.

Кстати, при запуске батника у меня сразу же закрывается досовское окно, ничего не видно. Команда pause не работает. Как вылечить? Чтобы после выполнения скрипта окно оставалось открытым.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разобрался и с закрытием окна. Всем спасибо за участие.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...