is it possible to copy a file on itself?
10 views (last 30 days)
Show older comments
Idin Pushkin
on 5 Apr 2019
Commented: Idin Pushkin
on 6 Apr 2019
hello
i have some files in current folder which were copieed here from other folder. i have changed content of some of them in the original folder and now i want to copy them again to the current folder. but it says u cant copy a file or directory onto itself.
is there anyway for doing this?
thanks
0 Comments
Accepted Answer
Walter Roberson
on 6 Apr 2019
[file,path,indx] = uigetfile( ...
{'*.DATA;*.PVO;*.PVP;*.PVI;*.slx;*.INC','Eclipse Files (*.DATA,*.INC)';
'*.PVO;*.PVP;*.PVI;*.INC','PVTi files (*.PVO,*.PVP,*.PVI)';...
'*.*', 'All Files (*.*)'},'Select a File','MultiSelect', 'on');
if isequal(file,0)
disp('User selected Cancel');
else
if ischar(file); file = {file}; end
file(ismember(file, {'.', '..'})) = [];
file = fullfile(path, file);
for i = 1:length(file)
copyfile(file{i});
end
end
More Answers (2)
dpb
on 5 Apr 2019
That isn't copying a file onto itself; there's nothing to prevent you doing what you want.
Your copyfile command isn't referencing the alternate folder in the source file it would appear by the error; however, you neglected to show us the command as you wrote it so we can't do more than surmise the cause.
If your current working directory is the target, then
otherdir='c:\that\otherdirectory';
copyfile(fullfile(otherdir,filename),filename)
should have no issues. If you are in the other directory when trying, then
targetdir='c:\that\targetlocation';
copyfile(fullfile(targetdir,filename),filename)
To be sure, wherever you are, use fully-qualified file names for both source and target.
0 Comments
Idin Pushkin
on 6 Apr 2019
2 Comments
Walter Roberson
on 6 Apr 2019
You copyfile() with only one argument. Which directory do you want the files to end up in?
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!