Obecnie używam NSFileManager setAttributes, aby zmienić uprawnienia do katalogu. Moim problemem jest to, że nie wydaje się, aby to robić rekursywnie. Czy istnieje sposób, aby to zmusić?Jak zmienić uprawnienia do katalogu rekurencyjnie za pomocą zestawu NSFileManager setAttributes
5
A
Odpowiedz
4
Nie sądzę, nie ma wbudowanego sposób to zrobić, ale to nie powinno być trudne do zrobienia czegoś takiego:
NSString *path = @"/The/root/directory";
NSDictionary *attributes; // Assume that this is already setup
NSFileManager *fileManager = [[[NSFileManager alloc] init] autorelease];
NSArray *subPaths = [fileManager subpathsAtPath:path];
for (NSString *aPath in subPaths) {
BOOL isDirectory;
[fileManager fileExistsAtPath:aPath isDirectory:&isDirectory];
if (isDirectory) {
// Change the permissions on the directory here
NSError *error = nil;
[fileManager setAttributes:attributes ofItemAtPath:aPath error:error];
if (error) {
// Handle the error
}
}
}
To jest niesprawdzone, ale powinno dać punkt wyjścia.
2
NSString *path = @"/User/user/aPath";
NSFileManager *manager = [[[NSFileManager alloc] init] autorelease];
if ([manager fileExistsAtPath: path]) {
NSDictionary *attrib = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:0], NSFileGroupOwnerAccountID,
[NSNumber numberWithInt:0], NSFileOwnerAccountID,
@"root", NSFileGroupOwnerAccountName,
@"root", NSFileOwnerAccountName, nil ];
NSError *error = nil;
[manager setAttributes:attrib ofItemAtPath:path error:&error];
NSDirectoryEnumerator *dirEnum = [manager enumeratorAtPath: path];
NSString *file;
while (file = [dirEnum nextObject]) {
[manager setAttributes:attrib ofItemAtPath:[path stringByAppendingPathComponent:file] error:&error];
}
}
Powiązane problemy
- 1. Jak zmienić zasięg/uprawnienia za pomocą Microsoft.Web.WebPages.OAuth
- 2. Jak zmienić nazwę pliku przy użyciu NSFileManager
- 3. Rekurencyjnie uzyskanie rozmiaru katalogu
- 4. Kakao - Uzyskiwanie dostępu do katalogu głównego dla NSFileManager
- 5. Python - uprawnienia do katalogu testowego
- 6. Jak zapytać o uprawnienia do katalogu Oracle?
- 7. katalogu Delete rekurencyjnie w Scala
- 8. Jak zmienić nazwę katalogu głównego XML za pomocą Serializacji XML?
- 9. Rekurencyjnie scp oprócz bieżącego katalogu
- 10. Jak rekurencyjnie przetestować wszystkie skrzynie w katalogu?
- 11. Jak zapisać token dostępu LinkedIn za pomocą zestawu SDK iOS?
- 12. Jak zmienić uprawnienia użytkownika MongoDB?
- 13. Jak zmienić uprawnienia pliku tomcat jmx do pliku
- 14. Prośba o uprawnienia do kamery za pomocą zestawu Android SDK 23
- 15. Odwołanie do bieżącego zestawu za pomocą CompilerParameters
- 16. rsync: jak zachować wybrane uprawnienia katalogu docelowego?
- 17. Jak zmienić nazwę katalogu?
- 18. Jak zmienić katalog za pomocą Pythona pathlib
- 19. Jak mogę zmienić nazwę samoreferencyjnego zestawu wiele do wielu za pomocą pliku hibernate.reveng.xml?
- 20. Przejdź się rekurencyjnie do katalogu w Qt, pomiń foldery "." i ".."
- 21. Jak usuwać pliki rekurencyjnie
- 22. Jak zmienić uprawnienia do plików dla wszystkich podkatalogów (CHMOD)
- 23. Jak mogę programowo sprawdzić uprawnienia Amazon S3 za pomocą boto?
- 24. Jak przesłać plik do katalogu docelowego za pomocą curl?
- 25. Inicjowanie zestawu za pomocą Iterable
- 26. Jak uzyskać dostęp do elementu zestawu za pomocą równoważnego obiektu?
- 27. Jak zmienić uprawnienia plików w Ubuntu
- 28. Jak dołączyć wszystkie pliki do katalogu za pomocą cmake?
- 29. Uprawnienia do analizy ewakuacji/alokacji stosów za pomocą Java 7
- 30. Jak zmienić uprawnienia dostępu do plików w systemie Linux?