Matlab 如何检查是否可以将文件写入目录?
尝试寻找可能有用但运气不佳的函数。我最好的解决方法是尝试使用fopen在目录中创建一个虚拟文件,如果它返回-1,那么我知道我无法创建文件,并且我不会执行其余代码。如果我成功地创建了该文件,我将删除它并继续使用其余代码Matlab 如何检查是否可以将文件写入目录?,matlab,Matlab,尝试寻找可能有用但运气不佳的函数。我最好的解决方法是尝试使用fopen在目录中创建一个虚拟文件,如果它返回-1,那么我知道我无法创建文件,并且我不会执行其余代码。如果我成功地创建了该文件,我将删除它并继续使用其余代码 这似乎是一种相当不雅观的方法,我宁愿有一行代码告诉我在给定目录中没有写权限。有没有办法做到这一点 您可以创建一个文件夹: mkdir('folderName') 然后使用movefile将文件复制到该文件夹中: [status,message,messageid] = move
这似乎是一种相当不雅观的方法,我宁愿有一行代码告诉我在给定目录中没有写权限。有没有办法做到这一点 您可以创建一个文件夹:
mkdir('folderName')
然后使用movefile将文件复制到该文件夹中:
[status,message,messageid] = movefile('myfunction.m','oldfunction.m');
状态为逻辑1表示成功,逻辑0表示错误
您还可以获得如下文件夹/文件的权限:
fileattrib('C:\my_MATLAB_files\doc')
ans =
Name: 'C:\my_MATLAB_files\doc'
archive: 0
system: 0
hidden: 0
directory: 1
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
[S,M] = fileattrib('Directory');
M.UserWrite
ans =
1
所以你可以这样做:
fileattrib('C:\my_MATLAB_files\doc')
ans =
Name: 'C:\my_MATLAB_files\doc'
archive: 0
system: 0
hidden: 0
directory: 1
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
[S,M] = fileattrib('Directory');
M.UserWrite
ans =
1
您可以创建一个文件夹:
mkdir('folderName')
然后使用movefile将文件复制到该文件夹中:
[status,message,messageid] = movefile('myfunction.m','oldfunction.m');
状态为逻辑1表示成功,逻辑0表示错误
您还可以获得如下文件夹/文件的权限:
fileattrib('C:\my_MATLAB_files\doc')
ans =
Name: 'C:\my_MATLAB_files\doc'
archive: 0
system: 0
hidden: 0
directory: 1
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
[S,M] = fileattrib('Directory');
M.UserWrite
ans =
1
所以你可以这样做:
fileattrib('C:\my_MATLAB_files\doc')
ans =
Name: 'C:\my_MATLAB_files\doc'
archive: 0
system: 0
hidden: 0
directory: 1
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
[S,M] = fileattrib('Directory');
M.UserWrite
ans =
1
您可以创建一个文件夹:
mkdir('folderName')
然后使用movefile将文件复制到该文件夹中:
[status,message,messageid] = movefile('myfunction.m','oldfunction.m');
状态为逻辑1表示成功,逻辑0表示错误
您还可以获得如下文件夹/文件的权限:
fileattrib('C:\my_MATLAB_files\doc')
ans =
Name: 'C:\my_MATLAB_files\doc'
archive: 0
system: 0
hidden: 0
directory: 1
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
[S,M] = fileattrib('Directory');
M.UserWrite
ans =
1
所以你可以这样做:
fileattrib('C:\my_MATLAB_files\doc')
ans =
Name: 'C:\my_MATLAB_files\doc'
archive: 0
system: 0
hidden: 0
directory: 1
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
[S,M] = fileattrib('Directory');
M.UserWrite
ans =
1
您可以创建一个文件夹:
mkdir('folderName')
然后使用movefile将文件复制到该文件夹中:
[status,message,messageid] = movefile('myfunction.m','oldfunction.m');
状态为逻辑1表示成功,逻辑0表示错误
您还可以获得如下文件夹/文件的权限:
fileattrib('C:\my_MATLAB_files\doc')
ans =
Name: 'C:\my_MATLAB_files\doc'
archive: 0
system: 0
hidden: 0
directory: 1
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
[S,M] = fileattrib('Directory');
M.UserWrite
ans =
1
所以你可以这样做:
fileattrib('C:\my_MATLAB_files\doc')
ans =
Name: 'C:\my_MATLAB_files\doc'
archive: 0
system: 0
hidden: 0
directory: 1
UserRead: 1
UserWrite: 1
UserExecute: 1
GroupRead: NaN
GroupWrite: NaN
GroupExecute: NaN
OtherRead: NaN
OtherWrite: NaN
OtherExecute: NaN
[S,M] = fileattrib('Directory');
M.UserWrite
ans =
1