文件夹是否存在
‘壹’ 如何用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,如果文件不存在,就新建该文件