我正在编写一个应用程序,用于通过网络将文件和文件夹复制到客户端计算机。其他一切都很顺利。我不知道如何进行文件复制 - 我查看了 NSFileManager,但这似乎需要安装网络驱动器。我的目标是非常透明地模拟远程桌面的复制文件对话框之类的东西。有什么想法/帮助吗?
编辑:看起来像一个 SCP 包装器,或者带有 NSTask 的 SCP 命令可能会帮助我。但仍然想知道如何:[
最佳答案
有点不清楚你是想知道如何使用 NSTask,还是在其中使用 SCP。
但这里是一个使用 NSTask 的简单示例。 命令的每个参数都必须放入一个数组中。 例如命令
/bin/cp -R/Users/userName/Desktop/fooFolder/fooFile.foo/Users/suerName/Desktop/fooCopyToFolder
可以这样完成。
NSPipe *output;
NSTask *task;
task = [[NSTask alloc] init];
NSString* cpPath = @"/bin/cp";
NSString* sourcePath =@"/Users/userName/Desktop/fooFolder/fooFile.foo";
NSString* finalPath = @"/Users/suerName/Desktop/fooCopyToFolder";
[task setLaunchPath:cpPath];
[task setArguments:[NSArray arrayWithObjects:@"-R",sourcePath ,finalPath, nil]];
output = [[NSPipe alloc] init];
[task setStandardOutput:output];
[task setStandardInput:[NSPipe pipe]];
[task launch];
[task waitUntilExit];
int status = [task terminationStatus];
if (status == 0) {
NSLog(@"task succeeded. %i",status);
} else {
NSLog(@"task failed.%i",status);
;
}
关于cocoa - 通过网络复制文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8768360/