Copy file from one directory to another
188 次查看(过去 30 天)
显示 更早的评论
Hi,
So I am using this piece of code to copy some files with similar names from several destination paths (e.g. file03431314, file6767464363, etc).
When I use 'file*' it assumes it is a directory, which is not...
When I actualy copy and paste the filename, e.g. 'file03431314', it works fine.
PS: the file that I want to copy does not have an extension.
How can I fix this?
Thanks
p1 = 'filepath'
% Copying file from respective path
pdest = 'mydestinationpath';
filename = 'file*';
source = fullfile(p1,filename);
destination = fullfile(pdest,filename);
copyfile(source,destination)
% Renaming
oldname = filename;
newname = '1_file.txt';
copyfile(oldname,newname);
% Deleting old file
delete(filename)
1 个评论
回答(3 个)
Jan
2018-12-17
If there are really problems with the copy of a file pattern, do it explicitly with a loop:
psource = 'filepath'
pdest = 'mydestinationpath';
pattern = 'file*';
sourceDir = dir(fullfile(psource, pattern));
sourceDir([sourceDir.isdir]) = []; % Files only
for k = 1:numel(sourceDir)
sourceFile = fullfile(psource, sourceDir(k).name);
destFile = fullfile(pdest, sourceDir(k).name); % Or another name?
movefile(sourceFile, destFile);
end
0 个评论
Prajwol Tamrakar
2020-5-27
This issue of copying file to another directory is possibly due to "ready only access". Use 'f' option to override the read-only status of the destination folder.
copyfile(SourceFile, DestinyFile, 'f')
0 个评论
Omer Yasin Birey
2018-12-17
Maybe you can get parts of the filename by using
[filepath,name,ext] = fileparts(file);
and after that you can use directly the name of the file instead of this "filename = 'file*';"
[filepath,name,ext] = fileparts(file);
filepath =
'H:\user4\matlab'
name =
'myfile'
ext =
'.txt'
once you get the name of the file by this, you can use it in your code.
2 个评论
Omer Yasin Birey
2018-12-17
filename = 'file';
numbers = [1 2 3 4 5 1234324123 03431314 3431314123123 ..... ]
for i = 1:length(k)
nFile{i} = sprintf('%s_%d',filename,numbers(i));
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!