Скрипт или утилита для изменения прав доступа к одноименной подпапке в Windows

У меня есть родительская папка, называемая Projects, в которой у меня более 400 папок с отдельным именем папки (например, Project1, Project2 и т. Д.). Под каждой папкой Project есть стандартная папка под названием Management, которая должна иметь ограниченный доступ, но не имеет. Я хотел бы изменить разрешения для этой подпапки управления во всех проектах (те же разрешения). Если у кого-то есть идея о том, как это сделать, это действительно будет оценено, спасибо.

Скотт.

1 ответ

Вот простое Java-приложение, которое делает то, что вы спрашиваете. Если я что-то неверно истолковал, вы, вероятно, можете это исправить, но я предполагаю, что вашей главной задачей было выяснить, как изменить разрешения только для определенных файлов.

Мое решение состояло в том, чтобы просмотреть циклы fplders текущего каталога (то есть каталога, в котором находятся все файлы проекта), а затем просмотреть каждую папку проекта, чтобы найти каждую папку управления. Затем я использовал команду icacls, чтобы удалить разрешение у определенного пользователя.

    public static void main(String[] args) {
        File file = new File("directory path");
        Runtime runtime = Runtime.getRuntime();
        for(File pfolder : file.listFiles()) { // Loop through project folders
            if(pfolder.isDirectory()) {
                for(File mfolder : file.listFiles()) { // Find management folder
                    if(mfolder.getName().equals("Management")) {
                        try {
                            runtime.exec("icacls "+mfolder.getAbsolutePath()+" /deny USERNAME");
                        } catch (IOException ex) {
                            ex.printStackTrace();
                        }
                    }
                }
            }
        }
    }

Обязательно измените начальное значение каталога (сделайте его абсолютным путем) и имя пользователя, чьи разрешения вы удаляете. Надеюсь это поможет!

Другие вопросы по тегам