文件夾是否存在
『壹』 如何用vb判斷文件夾是否存在
在VB中編程中,經常需要判斷一個文件是否存在,以便執行相應的操作,這可用下列語句進行判斷
Dir([pathname],[Attributes as VbFileAttribute=vbNormal]) As String
解釋:
pathname:文件的絕對路徑;
Attributes:文件的屬性。
「[]」內為可選項。
結果:dir(file)=""表示文件不存在,dir(file)<>""表示文件存在。
例如判斷c:wpswinwps.exe是否存在。若存在,就調用它,就用下面的源代碼:
if dir("c:wpswinwps.exe")<>"" then
shell "c:wpswinwps.exe"
end if
但如果判斷的文件是隱藏文件,上面的語句則無法判斷出來,這時就需要加上後面的可選項目。
例如判斷C盤根目錄下是否有隱藏文件command.com,就用下面的源代碼:
if dir("c:command.com,vbhidden")<>"" then
msgbox"Found c:command.com"
end if
判斷文件夾是否存在,就用下面的源代碼:
dir(文件夾路徑, vbDirectory) <>""
例如,要判斷文件夾c:aaa是否正在,則代碼如下:
if Dir("c:aaa", vbDirectory) <>"" then
msgbox"文件夾:c:aaa 存在!"
end if
『貳』 在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;
}
『叄』 如何判斷文件是否存在
兩個方式:find命令或者shell腳本。
1、find命令
find是linux下用於查找文件的通用方法。
find語法: find [指定查找目錄] [查找規則] [查找完後執行的action]
例如:find /tmp -name wa* -type l ,是在/tmp下查找名為wa開頭且類型為符號鏈接的文件。找到就表示存在。
2、shell腳本
在進行文件的自動處理中常常需要自動判別,下面的腳本判斷test.log是否存在,存在則顯示文件存在,否則顯示文件不存在。
例子:編輯一個腳本判斷文件是否存在
vi t.sh
#!/bin/bash
if [ -e /temp/test.log ];then //這里是判斷語句,-e表示進行比較結果為真則存在
echo "文件存在"
else
echo "文件不存在"
fi
保存退出
執行:
sh t.sh
『肆』 C# 檢查文件夾和文件是否存在
1、在visual studio當中創建一個C#控制台應用程序,選擇新建項目,然後選擇visual C#,再選中控制台應用程序,輸入項目名稱,選擇位置,確定即可。
『伍』 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(打不開)和正數(能打開)。
特別提醒:用這種方法做出的判斷是不完全正確的,因為有的文件存在,但是可能不可讀。
『陸』 java判斷文件是否存在
importjava.io.File;
publicclass${
publicstaticvoidmain(String[]args){
Filef=newFile("d:/a.txt");
System.out.println(f.exists());
}
}
false.不存在
true.存在
『柒』 批處理 判斷一個文件夾是否存在,不存在則創建,求大神指導。。謝謝
用IF NOT EXIST "G:\%DATE:~0,10%tst" MD "G:\%DATE:~0,10%tst"
例如:
IF EXIST C:DATE (
del filename.
) ELSE (
echo filename. missing.
)
(7)文件夾是否存在擴展閱讀:
注意事項
@echo off
@title 批處理判斷文件夾是否存在
if exist folder1 (
echo "已經存在文件夾"
) else (
md folder1
)
if not exist folder2 md folder2
pause
命令中首先判斷當前目錄中是否存在folder1,如果存在,列印「已經存在文件夾」如果不存在就用md命令建立文件夾。
『捌』 bat如何查找文件夾是否存在
以下是一個參考例子:
假設,在D盤新建MP3文件夾,在裡面新建三個文件夾,為luyin、check、log,並且在luyin文件夾下建立2013_09,在2013_09文件夾下建立2013_09_09、2013_09_10
錄音文件為每天自動生成的日期文件夾,需要檢查是否存在代碼:
@echo off
::-------------basic info-----------
::need to modify
set ip=127.0.0.1
set wavpath=D:mp3luyin
set repore_dir=D:mp3check
set err_report_dir=D:mp3log
set log_name=%ip%_date:~5,2%_date:~8,2%.txt
::Checking Scrip
cd /d %repore_dir%
echo date% %time% > %log_name%
echo *******tasklist*********
echo ---------------------------------- >> %log_name%
set n=0
echo check iexplore.exe >> %log_name%
tasklist | find /C /I "iexplore.exe" >> %log_name%
set /a n=n+1
echo ---------------------------------- >> %log_name%
echo 正常:count=2 >> %log_name%
echo tasklist count=%n% >> %log_name%
echo 0:未啟動 1:啟動 >> %log_name%
echo. >> %log_name%
echo. >> %log_name%
::-------------record file check-----------------
echo wav_path : %wavpath%date:~0,4%_date:~5,2% >> %log_name%
echo. >> %log_name%
dir %wavpath%date:~0,4%_date:~5,2% >> %log_name%
echo ----------------------->> %log_name%
echo 0:不存在 1:存在 >> %log_name%
echo count(date:~0,4%_date:~5,2%_date:~8,2%) = >> %log_name%
dir %wavpath%date:~0,4%_date:~5,2% | find /c "date:~0,4%_date:~5,2%_date:~8,2%" >> %log_name%
echo. >> %log_name%
echo. >> %log_name%
dir %err_report_dir%>> %log_name%
notepad %log_name%
運行結果如下:
『玖』 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
『拾』 如何判斷指定的文件夾里的一個文件是否存在
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,如果文件不存在,就新建該文件