Index: utils/ofarc/OFArc.m ================================================================== --- utils/ofarc/OFArc.m +++ utils/ofarc/OFArc.m @@ -412,13 +412,20 @@ openArchiveWithPath: remainingArguments.firstObject type: type mode: mode encoding: encoding]; - if (outputDir != nil) - [[OFFileManager defaultManager] - changeCurrentDirectoryPath: outputDir]; + if (outputDir != nil) { + OFFileManager *fileManager = + [OFFileManager defaultManager]; + + if (![fileManager directoryExistsAtPath: outputDir]) + [fileManager createDirectoryAtPath: outputDir + createParents: true]; + + [fileManager changeCurrentDirectoryPath: outputDir]; + } @try { [archive extractFiles: files]; } @catch (OFCreateDirectoryFailedException *e) { OFString *error = [OFString