IDL实现文件创建与剪切
最近在整理MODIS数据,下载下来全年的,想按照儒略日进行分文件管理,手动又很是麻烦,师兄跟我说,需要重复十次以上的操作,就要考虑写程序了,我就写了个IDL小程序进行文件的处理。有两个很好用的命令:
(1) 新文件夹的创建: file_mkdir, 'E:\newfile\'
这样就会在E盘创建一个名为newfile的文件夹了,像我个人的需求,是要按照儒略日建立很多文件夹,因此加了for循环,有一点需要注意,假如建立1-100的文件夹,分别命名为file1~file100,因为for循环中循环次数n是数值,需要转为字符串,需要用name = 'file'+string(n)????
这样真的可以吗?答案是不行的,因为直接转为字符串,会在不够位数的额数字前面补充空格,你得到的name就是file 1。想要消除空格,还需要一个函数,strcompress(), 正确的写法是:name='file'+strcompress(string(n), /Remove_all)
如果期待好看的格式,比如file001,file011,file100,将strcompress(string(n)记作str,可以使用strlen()函数,来得到a的长度len,再使用判断语句来重新给出a:
if len eq 1 then strday='00'+str
if len eq 2 then strday='0'+str
(2) 文件的剪切移动:file_move, file_name, file_newpath
例如:file_move, 'E:\Pic\Artemis.jpg',‘E:\newfile\’
这样原文件夹的图片就会剪切到新的文件夹中。如果文件的命名有规律,也可以结合file_search()函数,外加 循环语句 ,进行文件的批量整理。
就写到这里吧:)希望我天天开心科研顺利!!!