0
嘗試尋找可能有用但功能不佳的功能。我最好的解決方法是嘗試使用fopen在目錄中創建一個虛擬文件,如果它返回-1,那麼我知道我不能創建一個文件,並且不執行我的其他代碼。如果我成功創建了該文件,那麼我將刪除它並繼續使用其餘的代碼。如何檢查是否可以將文件寫入目錄?
這似乎是一個相當不雅的方法,我寧願只是有一行代碼告訴我我沒有在給定目錄中的寫入權限。有沒有辦法做到這一點?
嘗試尋找可能有用但功能不佳的功能。我最好的解決方法是嘗試使用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