[关闭]
@novachen 2017-10-31T16:48:53.000000Z 字数 1007 阅读 1680

将融合复原结果批量换成唯一名字

融合复原 换名 matlab


复原融合的结果还要经过正射和镶嵌两个步骤变成DOM,所以要将每景的结果改成唯一的名字,还要挪到统一的地方。
可以用一些脚本来自主控制流程和文件命名方式,以定制工作流程。
因为我常使用matlab,就用它写了一个脚本,大家可以在此基础上修改。

%将融合复原的结果改成唯一的名称,以便于挪到另外的文件夹用于正射和镶嵌,例如
% HRMS_REG.TIF -> GF2_PMS1_E110.3_N19.9_20150502_L1A0000782507_HRMS_REG.TIF 
% HRMS_REG.RPB -> GF2_PMS1_E110.3_N19.9_20150502_L1A0000782507_HRMS_REG.RPB
%脚本生成一系列命令行,可以粘贴到命令行界面中去批量替换文件名
%也可以修改成将结果文件换名拷贝到另外的目录中

root = 'X:\tesst\';

tail = {'HRMS_REG.TIF', 'HRMS_REG.RPB'};

d = dir([root, 'gf2*']);
for i = 1:length(d)
    if (d(i).isdir)
        %disp(d(i).name);
        dn = d(i).name;
        for j = 1:length(tail)
            cmd = sprintf('ren %s%s\\%s %s', root, dn, tail{j}, [dn, '_', tail{j}]);
            disp(cmd);
        end;
    end;
end;

运行后产生这样的一些文本输出

ren X:\tesst\GF2_PMS2_E104.3_N30.1_20170823_L1A0002557448\HRMS_REG.TIF GF2_PMS2_E104.3_N30.1_20170823_L1A0002557448_HRMS_REG.TIF
ren X:\tesst\GF2_PMS2_E104.3_N30.1_20170823_L1A0002557448\HRMS_REG.RPB GF2_PMS2_E104.3_N30.1_20170823_L1A0002557448_HRMS_REG.RPB

粘贴到命令行环境界面中执行即可,也可以先输出到一个bat文件中,一次性执行。
还可以把这些输出直接通过matlab的system()函数运行


联系方式

陈甫 副研究员
中国科学院遥感与数字地球研究所
chenfu@radi.ac.cn
13811147935

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注