我用C#.NET创建一个智能设备项目,里面有一个是需要连接到服务器的文件夹里遍历文件名 可是连接不到服务器?
DirectoryNotFoundException就是目录没有找到
这个和你用的DirectoryInfo 和DirectoryGetFiles那两个没有关系,不过你在取目录的时候首先要判断有没有目录,先判断再取
首先是有一个已知的路径,现在要遍历该路径下的所有文件及文件夹,因此定义了一个列表,用于存放遍历到的文件名。C#代码如下:
string path = "给定的文件夹名称";List<string> nameList = new List<string>();
Director(path,nameList);
public void Director(string dir,List<string> list)
{
DirectoryInfo d = new DirectoryInfo(dir);
FileInfo[] files = dGetFiles();//文件
DirectoryInfo[] directs = dGetDirectories();//文件夹
foreach (FileInfo f in files)
{
listAdd(fName);//添加文件名到列表中
}
//获取子文件夹内的文件列表,递归遍历
foreach (DirectoryInfo dd in directs)
{
Director(ddFullName, list);
}
}
、使用快捷键win+r,打开运行的窗口,输入cmd之后进行回车,2、在弹出的管理员名利提示符窗口中,输入dir
h:\我的工具
/b》c:\users\administrator\desktop\1txt回车,3、在桌面上就会生成一个1text的记事本文件,4、然后打开文件之后,我们会看到一些文件名称,5、打开源地址文件夹我的工具中文件夹都包含在记事本中了,以上就是通过使用dos命令批量提取文件名的操作办法,是不是挺简单的
把下面的文件存为search1lnbat,内容如下:
@echo off@setlocal enabledelayedexpansion
if exist aatxt del aatxt
for /f "delims=" %%i in ('dir %1\%2 /s /b /a-d') do (
set fn=%%i
set /p ln1=<"%%i"
echo !fn! !ln1!>> aatxt
)
把上面的文件放在任意文件夹中,运行时,需要进入cmd环境中,在该bat路径下,输入:
search1lnbat d:\mydir log
其中d:\mydir一定要是绝对路径,您可以自己换,如果路径中有空格就用双引号引起来,log您也可以自己改。
输出结果在aatxt中,每次执行都会把aatxt删了,再生成新的。
用dir函数加上循环即可。比如将D:\ABC文件夹内的所有文件显示到A列,代码如下:
Sub 遍历所有文件()Dim Fn$, N%
Fn = Dir("D:\ABC\")
While Fn <> ""
N = N + 1
Range("A" & N) = Fn
Fn = Dir
Wend
End Sub
你试试看吧:
<php
$real_dir='';//你要打开的文件夹
if ($dir = @opendir($real_dir)) {
while (($file_name = readdir($dir)) !== false){
$path_parts = pathinfo($file_name);
if($path_parts['extension']=='php' || $path_parts['extension']=='net'){
$fp=fopen($file_name,'r');
$line=fgets($fp);
$line=fgets($fp);
echo "文件{$file_name}的第二行内容是:{$line}<br>\n";
fclose($fp);
}
closedir($dir);
}
} else echo "打开文件夹失败:$real_dir";
>
0条评论