我想通過NSTask運行這個命令:mv /User/xxx.deb/User/Docs將deb文件移動到/ User/Docs。然而,這個deb文件可以有許多名字:blah.deb,blah3.deb,hgfdo.deb,6745sdjiz.deb,...如何使用NSTask和NSPredicate?
這裏是我當前的代碼:
#import <Foundation/NSTask.h>
NSString *myString = @"deb";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"entity.name CONTAINS %@", myString];
NSTask *task = [[[NSTask alloc] init] autorelease];
[task setLaunchPath:@"/bin/mv"];
[task setArguments:[NSArray arrayWithObjects:[NSString stringWithFormat:@"/User/%@", predicate], @"/User/Tweak/", nil]];
[task launch];
這沒有按」工作。如果沒有NSPredicate,它的工作原理:
[task setArguments:[NSArray arrayWithObjects:@"/User/com.deb", @"/User/Tweak/", nil]];
但我需要使用NSPredicate(或任何其他方法)
你有一個想法?
'NSTask'的'arguments'屬性是'NSString'的'NSArray',而不是'NSPredicate'。也許'/用戶/ * deb'?像在終端/ Bash中一樣。 – Larme
剛剛嘗試過,它不起作用 – Ziph0n