批量修改文件后綴名,文件名,批量復制文件

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

 修改前。

批量修改文件后綴名,文件名,批量復制文件的圖1

 修改后。

批量修改文件后綴名,文件名,批量復制文件的圖2


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

修改后

批量修改文件后綴名,文件名,批量復制文件的圖4

    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文件傳送完成')
登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

18
10
11