MAC 下 用 OC 制作简单的脚本

先讲一下该脚步的功能: 更改MAC Ducuments 目录下 .png 图片的名称
准备工作:
1. 了解制作 脚本可执行文件 “.sh” 文件 的制作
2. 了解 OC 语言下 NSFileManager 类的使用
3. 了解 终端编译 OC 的  .m文件


接下来是制作方法:
1. 创建一个oc  Command Line Tool 工程 
技术分享

在该工程中编写你需要的功能:
图片文件改名:
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
   
@autoreleasepool {
       
NSFileManager *fileManager = [NSFileManager defaultManager];
       
//在这里获取应用程序Documents文件夹里的文件及文件夹列表
       
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
       
NSString *documentDir = [documentPaths objectAtIndex:0];
       
NSError *error = nil;
       
NSArray *fileList = [[NSArray alloc] init];
       
//fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组
        fileList = [fileManager
contentsOfDirectoryAtPath:documentDir error:&error];
       
//        以下这段代码则可以列出给定一个文件夹里的所有子文件夹名
       
       
NSMutableArray *fileArray = [[NSMutableArray alloc] init];
       
       
//在上面那段程序中获得的fileList中列出文件夹名
       
for (NSString *file in fileList) {
           
NSString *path = [documentDir stringByAppendingPathComponent:file];
           
if ([path hasSuffix:@".png"]) {
                [fileArray
addObject:path];
            }
        }
       
       
NSLog(@"Every Thing in the dir:%@",fileList);
       
NSLog(@"All folders:%@",fileArray);
       
       
for (int i = 0;  i < fileArray.count; i++) {
           
NSString *filePath = fileArray[i];
           
NSString *toPath = [NSString stringWithFormat:@"%@/tree%d.png", documentDir,i+1];
            [fileManager
copyItemAtPath:filePath toPath:toPath error:nil];
        }
       
    }
   
return 0;
}

2. 接下来就是 终端下编译 .m 文件
打开终端 cd 到.m文件目录下 运行命令: gcc -framework Foundation -o myscript main.m
你就会得到一个 myscript 的可执行文件

3. 制作可执行脚本文件 .sh文件  
技术分享

打开终端 输入命令:
cd Documents
mkdir MyScript
vim ChangeImgName.sh
进入编辑模式,  输入 i 进行编辑 
编辑内容为:   
#! /bin/bash
./myscript

然后按 control+c 退出编辑状态 输入 :wq 保持退出
命令输入: chmod +x ./changeImgName.sh 
完成了关键的一步,继续往下看:
4. 拷贝步骤2创建的 myscript 可执行文件 到 ~/Documents/MyScript 目录下, 即ChangeImgName.sh 文件的同级目录

5. 开始尝试吧:  
cd 到 ChangeImgName.sh 的目录下 即: ~/Documents/MyScript (其实现在就是在这个目录下)
输入命令 ./ChangeImgName.sh  





怎么样是不是没有反应,没反应就对了, 现在还差一步就是往 ~/Documents 目录下放几个 .png格式的图片, 然后你就可以发现~/Documents 目录下多了几个不同名称的图片,真的有效哦,快来试试吧



  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。