判斷文件夾是否存在
❶ vba判斷文件夾是否存在
VBA中有時要判斷文件或文件夾是否存在,為打開文件作準備,這里採用錯誤機制來判斷
代碼如下:
Function 文件或文件夾是否存在(全路徑 As String) As Boolean
On Error GoTo
EarlyExit
If Not Dir(全路徑, vbDirectory) = vbNullString Then
文件或文件夾是否存在 = True
End If
Exit Function
EarlyExit:
文件或文件夾是否存在 = False
End Function
需在說明的是,參數「全路徑」要有盤符之類的,呵呵
使用方法與其它函數一樣
VBA的操作中,有時要打開一個文件,但要是文件已打開,再次通過程序打開時,會出現錯誤,因此,在打開文件之前,需在先判斷文件是否已打開,下面是判斷代碼:
Function 文件是否打開(文件名 As
String) As Boolean
On Error Resume Next
文件是否打開 = True
If StrComp(Workbooks(文件名).Name, 文件名, vbTextCompare) 0 Then
文件是否打開 = False
End If
End Function
需要說明的是,參數「文件名」是短文件名(不帶路徑的文件名)
Function 特殊文件夾路徑(文件夾名
As String) As String
Dim WSHShell As Object
Dim lj As String
Set WSHShell =
CreateObject("Wscript.Shell")
lj = WSHShell.SpecialFolders(文件夾名)
Set WSHShell = Nothing
特殊文件夾路徑 = lj
End Function
文件夾名有:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
❷ 易語言判斷文件夾是否存在
.版本 2
.子程序 取子文件夾數目, 整數型, , 返回所有子文件夾的數量
.參數 路徑, 文本型
.局部變數 子文件夾, 文本型, , "0"
.局部變數 計次, 整數型
.局部變數 臨時文本, 文本型
加入成員 (子文件夾, 路徑 + 選擇 (取文本右邊 (路徑, 1) = 「\」, 「」, 「\」))
.循環判斷首 ()
計次 = 計次 + 1
臨時文本 = 尋找文件 (子文件夾 [計次] + 「*.*」, #子目錄)
.判斷循環首 (臨時文本 ≠ 「」)
.如果真 (取文本左邊 (臨時文本, 1) ≠ 「.」)
加入成員 (子文件夾, 子文件夾 [計次] + 臨時文本 + 「\」)
.如果真結束
臨時文本 = 尋找文件 (, #子目錄)
.判斷循環尾 ()
.循環判斷尾 (計次 < 取數組成員數 (子文件夾))
返回 (取數組成員數 (子文件夾) - 1)
.子程序 取文件夾數目, 整數型, , 返回一級子文件夾數量
.參數 路徑, 文本型
.局部變數 計次, 整數型
.局部變數 臨時文本, 文本型
臨時文本 = 尋找文件 (路徑 + 選擇 (取文本右邊 (路徑, 1) = 「\」, 「」, 「\」) + 「*.*」, #子目錄)
.判斷循環首 (臨時文本 ≠ 「」)
.如果真 (取文本左邊 (臨時文本, 1) ≠ 「.」)
計次 = 計次 + 1
.如果真結束
臨時文本 = 尋找文件 (, #子目錄)
.判斷循環尾 ()
返回 (計次)
❸ 如何判斷指定的文件夾里的一個文件是否存在
1.File testFile = new File(testFilePath);
if(!testFile .exists()){
testFile.mkdirs();
System.out.println("測試文件夾不存在");
}
2.File testFile = new File(testFilePath);
if(!testFile .exists()){
testFile.createNewFile();
System.out.println("測試文件不存在");
}
java中File類自帶一個檢測方法exists可以判斷文件或文件夾是否存在,一般與mkdirs方法(該方法相較於mkdir可以創建包括父級路徑,推薦使用該方法)或者createNewFile方法合作使用。
1,如果路徑不存在,就創建該路徑
2,如果文件不存在,就新建該文件
❹ java如何判斷一個文件夾是否存在
1、首先在電腦端新建一個java項目,如圖,命名為javaFileTest名稱。
❺ 批處理判斷文件夾是否存在
if exist d:\qq.exe echo 文件存在&pause else echo 文件不存在&pause
❻ C/C++如何判斷一個文件夾是否存在
方法一:access函數判斷文件夾或者文件是否存在
函數原型: int access(const char *filename, int mode);
所屬頭文件:io.h
filename:可以填寫文件夾路徑或者文件路徑
mode:0 (F_OK) 只判斷是否存在
2 (R_OK) 判斷寫入許可權
4 (W_OK) 判斷讀取許可權
6 (X_OK) 判斷執行許可權
用於判斷文件夾是否存在的時候,mode取0,判斷文件是否存在的時候,mode可以取0、2、4、6。 若存在或者具有許可權,返回值為0;不存在或者無許可權,返回值為-1。
錯誤代碼
EACCESS 參數pathname 所指定的文件不符合所要求測試的許可權。
EROFS 欲測試寫入許可權的文件存在於只讀文件系統內。
EFAULT 參數pathname指針超出可存取內存空間。
EINVAL 參數mode 不正確。
ENAMETOOLONG 參數pathname太長。
ENOTDIR 參數pathname為一目錄。
ENOMEM 核心內存不足
ELOOP 參數pathname有過多符號連接問題。
EIO I/O 存取錯誤。
特別提醒:使用access()作用戶認證方面的判斷要特別小心,例如在access()後再做open()的空文件可能會造成系統安全上的問題。
實例:
#include <stdio.h>
#include <io.h>
int main(void)
{
if ( !access("C://windows",0) )
puts("C://windows EXISITS!");
else
puts("C://windows DOESN'T EXISIT!");
return 0;
}
方法二:fopen函數判斷文件是否存在
函數原型:FILE *fopen (char *filename, char *type);
filename:文件路徑
type:打開文件的方式(有r、w、r+、w+、a、rb、wb等等)
用於判斷文件是否存在可以使用 r 或者 rb ,因為使用 其它方式的話,可能會自動建立文件。 返回值為NULL(打不開)和正數(能打開)。
特別提醒:用這種方法做出的判斷是不完全正確的,因為有的文件存在,但是可能不可讀。
❼ .net 判斷某文件夾是否存在
if (!Directory.Exists(" "))
{
//創建一個文件夾
Directory.CreateDirectory("");
}
❽ R 如何判斷文件夾是否存在
可以用這個函數S_ISDIR()判斷路徑是否存在
❾ 在C++中如何判斷文件夾是否存在,不存在的話創建文件夾
參考代碼如下:
#include <stdio.h>
#include <direct.h>
#include <stdlib.h>
#include <memory>
//檢查文件夾是否存在,不存在則創建之
//文件夾存在返回 0
//文件夾創建失敗返回-1
//文件夾創建失敗返回1
int CheckDir(char* Dir)
{
FILE *fp = NULL;
char TempDir[200];
memset(TempDir,'\0',sizeof(TempDir));
sprintf(TempDir,Dir);
strcat(TempDir,"\\");
strcat(TempDir,".temp.fortest");
fp = fopen(TempDir,"w");
if (!fp)
{
if(_mkdir(Dir)==0)
{
return 1;//文件夾創建成功
}
else
{
return -1;//can not make a dir;
}
}
else
{
fclose(fp);
}
return 0;
}
❿ 怎麼用DOS判斷文件夾是否存在
不用判斷,直接建立就好了,如果存在只是提示錯誤信息,沒有問題,@echo offi:\md tempmd tmpexit