【发布时间】:2011-01-13 21:36:48
【问题描述】:
我正在尝试将 rsync 包装在 NSTask 中并使用排除选项来不同步隐藏文件(点文件)。我知道这适用于命令行:
rsync -az --exclude='.*' source destination
我的 NSTask 定义如下:
NSTask *rsyncTask;
rsyncTask = [[NSTask alloc] init];
[rsyncTask setLaunchPath: @"/usr/bin/rsync"];
NSArray *arguments;
arguments = [NSArray arrayWithObjects: @"-az", @"--exclude='.*'", source, destination, nil];
[rsyncTask setArguments: arguments];
没有排除参数一切正常。事实上,上面的定义一切正常,但隐藏文件仍然被复制。
我试过了:
- 用反斜杠转义单个刻度
- 使用转义双引号
- 使用两个反斜杠来转义转义的反斜杠
- 不使用--exclude=,而只是使用--exclude 与一个单独的数组元素@"'.*'"
似乎没有得到我想要的结果。
欢迎提出任何建议。
【问题讨论】: