Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何检查是否可以将文件写入目录?_Matlab - Fatal编程技术网

Matlab 如何检查是否可以将文件写入目录?

Matlab 如何检查是否可以将文件写入目录?,matlab,Matlab,尝试寻找可能有用但运气不佳的函数。我最好的解决方法是尝试使用fopen在目录中创建一个虚拟文件,如果它返回-1,那么我知道我无法创建文件,并且我不会执行其余代码。如果我成功地创建了该文件,我将删除它并继续使用其余代码 这似乎是一种相当不雅观的方法,我宁愿有一行代码告诉我在给定目录中没有写权限。有没有办法做到这一点 您可以创建一个文件夹: mkdir('folderName') 然后使用movefile将文件复制到该文件夹中: [status,message,messageid] = move

尝试寻找可能有用但运气不佳的函数。我最好的解决方法是尝试使用fopen在目录中创建一个虚拟文件,如果它返回-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

您可以创建一个文件夹:

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