1. 自动批量修改文件后缀名,有时非常有用。
对于文件名没有要求,不用是序列文件名。比如需要将abaqus的inp文件修改成txt文件,便于使用 textscan和 textread等函数操作。
clear all
clcclose all
%% 批量修改文件后缀名
oldhouzhui = 'txt';
%旧后缀名newhouzhui = 'inp';
%新后缀名file = dir( strcat('*.',oldhouzhui));
%读取当前目录给定后缀名文件[m,~]=size(file);
%文件个数,或者用length函数
for i=1:m
oldname = file(i).name;
newname = oldname;
weizhi = strfind(newname,'.');
newname(weizhi+1:end) = newhouzhui;
eval(['!rename' 32 oldname 32 newname]);
end
修改前。
修改后。
2. 自动批量修改文件后缀名,并修改文件名。
比如将文件名改为序列文件,或者在原来文件名称的基础上加上序列
clear all
clcclose all
%% 批量修改文件后缀名和文件名
newname_qian = 'test';
%新文件名前缀oldhouzhui = 'inp';
%旧文件名后缀newhouzhui = 'txt';
%新文件名后缀file = dir( strcat('*.',oldhouzhui));
%读取当前目录给定后缀名文件[m,~]=size(file);
%文件个数,或者用length函数for i=1:m
oldname = file(i).name;
newname_qian2 = strcat(newname_qian,num2str(i));
newname_qian2 = strcat(newname_qian2,'.');
newname= strcat(newname_qian2,newhouzhui);
eval(['!rename' 32 oldname 32 newname]);
end
修改前
修改后
3. 有时发送某个文件至特定文件夹下或者从某个文件夹复制文件到当前目录。需要用到以下代码。
%% 文件复制
srcpath ='D:\Temp\wing\';% 源文件全路径名
dstpath=[];% 当前工作目录
filename='mesh_information.inp';
fdt = dir([srcpath filename]);
for k = 1:length(fdt)
fn = fdt(k).name;
if ~isdir(fn) % 检验是否目录,是目录跳过
ofn = [srcpath fn]; % 源文件全路径名
nfn = [dstpath fn]; % 目标文件全路径名
copyfile(ofn,nfn);
% 拷贝文件
end
end
disp('inp文件传送完成')
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删