2010-05-14 5 views
-1

Je cherche de l'aide pour créer un programme. créer un fichier * .sh comme suit:Cocoa: Utilisation de commandes UNIX pour écrire un fichier

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]; 

Cela fonctionne, je reçois un fichier appelé exec.sh créé en l'emplacement je craète avec le destDirStr. Maintenant est ma prochaine question, je dois obtenir ce fichier rempli avec les éléments suivants:

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 

L'idée réelle est que ce script est écrit dans le fichier sh, et tous les _temp et d'autres endroits sont remplacés par le vars je reçois des champs de texte etc.

ainsi c: \ users \ twan \ desktop \ pres_temp serait un var appelé tempDirStr que je reçois de mes champs d'entrée.

(je sais que ces cmomands et les emplacements sont basés sur Windows, im faire avec un ami et il a fait une contrepartie .net de l'application

Pouvez-vous les gars me aider.? D merci à l'avance!

+1

Pourquoi ne pouvez-vous utiliser juste '- [NSString writeToFile: atomiquement: encodage: erreur: ] '? –

+0

Oui, vous n'avez pas besoin de NSTask pour cela du tout. –

+0

Im going a pris linto cette méthode writeToFile, peut-être que c'est ce que je cherche. Je suis un peu nouveau au cacao (et objectif-c) donc .. im juste en essayant de tirer quelques trucs de; P merci pour la réponse, je vais vérifier – Craimasjien

Répondre

0
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]; 

a fait l'affaire, merci les gars pour la - [NSString writeToFile] méthode, cela a fonctionné comme un charme

Questions connexes