Какао: Использование команд на основе UNIX для записи файла - PullRequest
0 голосов
/ 14 мая 2010

Я ищу помощь с программой, которую я делаю. Я создаю * .sh файл следующим образом:

SVN_StatGenAppDelegate.h:

NSWindow *window;
    NSTask *touch;
    NSArray *touchArguments;
    NSString *svnURLStr;
    NSString *SVNStatStr;
    NSString *destDirStr;

SVN_StatGenApplDelegate.m:

    NSString *locationStr = [NSString stringWithFormat:@"%@/exec.sh", destDirStr];
    NSLog(@"%@", locationStr);
    touch = [[NSTask alloc] init];
    [touch setLaunchPath:@"/usr/bin/touch"];
    touchArguments = [NSArray arrayWithObjects:locationStr, nil];
    [touch setArguments:touchArguments];
    [touch launch];

Это работает, я получаю файл exec.sh, созданный в папке, которую я создаю с destDirStr. Теперь мой следующий вопрос, мне нужно заполнить этот файл следующим текстом:

svn co http://repo.com/svn/test C:\users\twan\desktop\pres\_temp
cd C:\users\twan\desktop\pres\_temp
svn log -v --xml > logfile.log
copy C:\users\twan\desktop\statsvn.jar C:\users\twan\desktop\pres\_temp
cd ..
java -jar _temp\statsvn.jar C:\users\twan\desktop\pres\_temp/logfile.log C:\users\twan\desktop\pres\_temp
rmdir /s /Q _temp

Фактическая идея заключается в том, что этот сценарий записан в файл sh, и все _temp и другие местоположения заменяются переменными, которые я получаю из текстовых полей и т. Д.

так что c: \ users \ twan \ desktop \ pres_temp будет переменной с именем tempDirStr, которую я получаю из своих полей ввода.

(я знаю, что эти команды и местоположения основаны на Windows, я делаю это с другом, и он сделал .net аналог приложения.

Можете ли вы, ребята, помочь мне?: D заранее спасибо!

1 Ответ

0 голосов
/ 16 мая 2010
NSString *scriptFile = [NSString stringWithFormat:@"svn co %@ %@ \ncd %@ \nsvn log -v --xml > logfile.log \ncd %@\ncp %@ %@ \njava -jar %@/statsvn.jar %@/logfile.log %@ \nrm -r -f %@\nrm statsvn.jar", svnURLStr, tempLocStr, tempLocStr, destDirStr, SVNStatStr, destDirStr, destDirStr, tempLocStr, tempLocStr, tempLocStr, nil];   

добился цели, спасибо, ребята, за метод [NSString writeToFile], он работал как шарм!

...