因为有些脚本小子会注意到俺的网站,向网站文件夹里面搞一些乱七八糟的东西,或者传个木马上来,如果这样的话,俺会丢饭碗,会破产,所以俺用递归的方法写了个功能,来看看文件有没有给别人改动了,或者有不该存在的文件给传上来了,加密算法不写,因为怕人破解,只写遍历文件夹:
public static void SetAllSafeCode(string path)
{
path += "\\";
//if there is no Directories, only files exists
if (Directory.GetDirectories(path).Length == 0)
{
//check all files of this path
foreach (string name in Directory.GetFiles(path))
{
//initialize an safe string object
SafeString ss = new SafeString();
//set property of this object
ss.FileName = name.Substring(path.Length);
ss.FilePath = name;
ss.Code = GetSafeCode(GetFileContent(name));
//store this object into list
ssList.Add(ss);
}
return;
}
else//if this path contains Directory
{
//check all directory of this path
foreach (string name in Directory.GetDirectories(path))
{
SetAllSafeCode(name);//Recursion 递归
}
//check all files of this path
foreach (string name in Directory.GetFiles(path))
{
SafeString ss = new SafeString();
ss.FileName = name.Substring(path.Length);
ss.FilePath = name;
ss.Code = GetSafeCode(GetFileContent(name));
ssList.Add(ss);
}
}
}
分享到:
相关推荐
为了实现这个功能,我们可以使用递归遍历文件夹和文件,并将其存入 TreeView 中。本文将详细介绍如何使用递归遍历文件夹和文件,并将其存入 TreeView 中。 一、概述 在 ASP.NET 中,我们可以使用 TreeView 控件来...
例如,以下是一个简单的递归遍历示例: ```python import os def traverse_directory(path): for entry in os.scandir(path): if entry.is_file(): print(f'文件: {entry.name}') elif entry.is_dir(): print...
这个名为"商业编程-源码-改进《遍历文件夹并建成目录树》.zip"的压缩包文件,其内容显然与文件系统操作和程序设计有关。它可能包含一个或多个源代码文件,用于实现一个功能,即遍历指定的文件夹结构,并构建出一个...
这个程序提供了一个基础框架,你可以根据需要进行扩展,例如添加错误处理、支持递归遍历子目录,或者改变输出格式。理解并熟练掌握这些基本概念和技巧,将使你在处理Linux系统中的文件操作时更加得心应手。
采用c语言编程,递归遍历一个文件夹中的所有文件,包括子文件夹
在遍历文件夹时,递归遍历会从根目录开始,对于每个子目录,它会再次调用自身来处理子目录,直到所有子目录都被访问。框图中的“Get_nodeRoot_path”可能表示获取根目录的路径,然后“Search directory”是开始递归...
在C#中,我们可以使用`System.IO`命名空间中的`Directory`和`DirectoryInfo`类来实现递归遍历文件夹。以下是一个简单的示例,展示如何使用递归遍历文件夹: ```csharp using System; using System.IO; public ...
在 Delphi 编程中,遍历文件夹是一个非常实用的功能,特别是在与 Excel 操作结合时,可以完成对报表的数据合成和整理。下面,我们将详细剖析一个遍历所有文件夹的函数的实现。 首先,让我们看一下函数的定义: `...
- `ParseXML` 函数接受一个 `XmlNode` 类型的参数,用于递归遍历XML文档中的节点。 - 遍历过程中,首先打印当前节点的名称,然后对当前节点的所有子节点进行递归处理,仅当子节点是元素节点时才进行递归调用。 通过...
在JavaScript中,递归遍历本地文件夹通常用于获取文件系统中的文件信息,例如文件路径、文件名和最后修改时间等。以下是如何使用JavaScript实现这一功能的详细解释: 首先,我们要明白JavaScript本身并不具备直接...
在本案例中,"API无递归遍历文件夹模块"是一个编程模块,其目的是提供一种方法来遍历文件系统中的文件夹,而无需使用递归。递归通常在遍历文件结构时很常见,但当文件夹深度很大时,递归可能导致性能问题或甚至栈...
易语言API无递归遍历文件夹模块源码,API无递归遍历文件夹模块,Test,FileTimeToVariantTime,EnumFile,EnumPath,newPath,newFile,EnumAllPath,FindFirstFile,FileTimeToLocalFileTime,FileTimeToSystemTime,...
### C语言遍历文件夹里所有文件的知识点 ...通过这个示例,我们学习了如何利用C语言的标准库函数实现文件系统操作,以及如何通过递归方式遍历文件夹。这对于理解和编写类似的文件操作程序具有重要的参考价值。
在Java编程中,遍历文件夹内的文件是一项常见的任务,特别是在处理文件系统操作时。这个话题涉及到了Java的I/O(输入/输出)流、文件系统API和递归概念。以下是对这一主题的详细讲解: 首先,Java提供了一个强大的`...
在C语言中,递归遍历文件夹是一种常见的需求,主要用于搜索、处理文件系统中的文件或目录等场景。递归遍历意味着程序会从一个指定的根目录开始,逐层深入每个子目录,直到遍历完整个目录树为止。本篇文章将详细解析...
在C++编程中,遍历文件夹及其子文件夹并输出所有文件的路径与内容是一项常见的任务,尤其在处理大量数据或进行文件管理时。这个程序的实现涉及到对操作系统文件系统的接口调用以及文件操作。以下是一份详细的步骤和...
遍历文件夹是指程序通过递归或循环的方式访问指定目录及其所有子目录下的文件和子目录。在不同的编程语言中,都有相应的API或库函数来支持这项功能。例如,在Python中,我们可以使用`os`和`os.path`模块,而在Java中...
在实际应用中,除了简单的打印,我们可能还需要处理更复杂的情况,如递归遍历子文件夹、过滤特定类型的文件夹、读取或修改文件夹属性等。易语言提供了丰富的系统调用函数,如`打开文件夹`、`创建文件夹`、`删除...
递归实现可以概括为:访问根节点 -> 递归遍历左子树 -> 递归遍历右子树。非递归实现则需要借助栈来模拟递归的过程。 2. **中序遍历**:在二叉排序树(BST)中特别有用,它按照升序或降序返回节点值。其顺序是:首先...
本文将深入探讨如何利用C#进行递归遍历文件夹,并将结果展示在TreeView控件中,这一过程不仅展示了C#的强大数据处理能力,也体现了对UI组件的有效利用。 ### C#递归遍历文件夹 递归遍历文件夹是指程序从指定目录...