Скрипт или утилита для изменения прав доступа к одноименной подпапке в 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();
}
}
}
}
}
}
Обязательно измените начальное значение каталога (сделайте его абсолютным путем) и имя пользователя, чьи разрешения вы удаляете. Надеюсь это поможет!