forfiles DOS下遍历文件

forfiles DOS下遍历文件
forfiles DOS下遍历文件

forfiles DOS下遍历文件

server2003版本以上自带forfiles工具,2000和xp想用,拷贝文件即可1. 用批处理文件删除当前目录下7 天以前的扩展名为bkf文件(以当前系统时间为基准)

示例:forfiles /m *.bkf /d -7 /c "cmd /c del @file /f"

2. forfiles 自动删除7天前文件(以当前系统时间为基准)

示例: forfiles /p "d:\test" /s /m *.* /d -7 /c "cmd /c del @path"

d:\test换成你要的目录路径; /d -7 指删除7天以前文件。

3. 删除所有的空目录(以删除d:\test目录下为例) :

dir /ad/b/s d:\test\ |sort /r >d:\kill.txt

For /f "tokens=*" %%i in (d:\kill.txt) DO rd "%%i"

del d:\kill.txt

4. 先删7 天以前文件,再删所有的空目录;把以下复制到bat文件中。

@echo off

forfiles /p "d:\test" /s /m *.* /d -7 /c "cmd /c del @path"

dir /ad/b/s d:\test\ |sort /r >d:\kill.txt

For /f "tokens=*" %%i in (d:\kill.txt) DO rd "%%i"

del d:\kill.txt

5. forfiles 命令的用法及参数:

forfiles /p <目标目录名> /d <天数> /c <执行的命令>

/d 指定一个日期或天数,用于比较文件的最后修改日期是否符合条件。

/c 对每个找到的文件执行的命令。

例1.要把在C盘根目录下最后修改日期大于或等于2010年1月7日的文件复制到D盘根目录下:

forfiles /p "c:\" /d "2007-7-1" /c "cmd /c copy @path d:\"

例2.删除在C盘backup目录下最后修改日期在10天前的文件:forfiles /p "c:\backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path"

6. forfiles /p 包含要删除文件的完整路径(如:F:\Logfiles) /m *.log -d -7

/c "cmd /c del /f

@path"

解释一下相关参数及命令

/p :指定开始搜索文件的位置,如果不指定则默认为当前目录。

/m :文件查找所使用的通配符如代码中的"*.log"则为所有日志文件,当然也可以指定诸

如"manmee_*.log"这样以manmee开头的所有日志文件。如果不指定此参数则默认为"*.*"。

/d [{+|-}][{|}] :指定想选择文件的最后修改时间,上文中用了"/d -7" 表示所有以当

天为基础,7天以前的文件。当然这里还可以指定具体时间,例如:"/d

-01/7/2010"这样所有早于2010年

1月7日的文件。注意指定的时间必须是"MM/DD/YYYY"的格式。

/c 对所有文件以此执行指定的命令,命令体须在双引号(")内,默认是"cmd /c echo @file"。上文中用

到的是"cmd /c del /f @path"删除指定文件。(这里的@file 和@path 为变量,下文中将解释。)

下面说一下上文中用到的参数:

@PATH :表示文件的完整的路径。

@File :表示文件名称。

接下来我们看看删除文件夹的操作,如果你看了上面的介绍,相信这命令你一看就能看懂。

forfiles /p 包含文件夹的路径(如:F:\) /m 文件夹名称(如:LogFiles) -d 0 /c "cmd /c if @ISDIR

== true rd /s/q @path"

注意这里的"包含文件夹的路径"不能包含要删除的文件夹,如以上代码所表示的就是,在F盘中查找名为

LogFiles的文件或文件夹(不能指定查找文件夹,不过在删除时我们做了判断)。还有就是这里出现了一个新的参数"@ISDIR"他用于判断当前文件类型是否是"

文件夹类型",如果是则为

true否则为false。

相信到这大家就明白了,最后再将代码保存为批处理文件,然后加入计划任务定期执行即可。

看了上面的例子,觉得在Windows Server 2003 下面要删除老文件很简单吧。但如果操作系统是Windows 2000/XP 就比较麻烦,因为它们没有forfiles

命令,只能靠自己写批处理来

实现了。

下面是我写的批处理文件内容:

@echo off

rem ******************************

rem * 按时间删除文件目录的批处理*

rem ******************************

rem 设置临时目录的路径

set tempDir=%tmp%\remove_?te:~0,10%

if not exist %tempDir% md %tempDir%

rem 设置处理日期的脚本文件的路径

set scriptFile=%tempDir%\get_date.vbs

rem 获得要保留的天数

set days=%~1

if "?ys%" == "" goto printUsage

rem 获得目标目录的路径

set dirPath=%~2

if "%dirPath%" == "" set dirPath=.

rem 获得要操作的文件形式

set fileSpec=%~3

if "%fileSpec%" == "" set fileSpec=*.*

rem 生成计算日期的脚本文件并获得删除的截止日期

echo d=date()-%1 > %scriptFile%

echo s=right("0000" ^& year(d),4) ^& "-" ^& right("00" ^&

month(d),2) ^& "-" ^& right("00"

^& day(d),2) >> %scriptFile%

echo wscript.echo s >> %scriptFile%

for /f %%i in ('cscript /nologo %scriptFile%') do set lastDate=%%i rem 处理目标目录里的每个对象

for /f "tokens=1,2,3* delims=<> " %%i in ('dir

"%dirPath%\%fileSpec%" /a /-c /tc') do call

:proc "%%i" "%%j" "%%k" "%%l"

goto :done

rem 处理目标目录里对象的过程

:proc

rem 获得对象的创建日期并判断是否为有效格式

set fileDate=%~1

echo %fileDate% | findstr

"[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]" > nul

if errorlevel 1 goto end

rem 获得对象的类型

set fileType=%~3

if "%fileType%" == "" goto end

rem 获得对象的名称

set fileName=%~4

if "%fileName%" == "" goto end

if "%fileName%" == "." goto end

if "%fileName%" == ".." goto end

if "%fileName%" == "字节" goto end

if "%fileName%" == "可用字节" goto end

rem 判断对象日期是否小于或等于删除的截止日期

if "%fileDate:~0,10%" leq "%lastDate%" (

echo deleting "%fileName%" ...

if "%fileType%" == "DIR" ( rd /s /q "%dirPath%\%fileName%" ) else

( del /q /f "%dirPath%\%

fileName%" )

)

goto end

:error

echo An error occurred during backuping.

:done

rd /s /q %tempDir%

goto end

:printUsage

echo Usage: %0 ^ [Work directory] [Target file specification (can include wildcards)]

goto end

:end

主要是利用Windows的脚本功能来计算要删除文件的截止日期,然后for加dir命令来提取文件的日期进行判断。

关于forfiles和for的详细信息,可以在Windows的帮助与支持中找到。

树的遍历:文件目录结构的显示

数据结构课程设计报告 树的遍历:文件目录结构的显示 专业 计算机科学与技术 学生姓名 **** 班级 计算机*** 学号 ***** 指导教师 徐燕萍 完成日期 2014年7月4日

目录 1、设计内容 (2) 2、设计分析 (3) 2.1建立树形链表结构的函数PARSE() (3) 2.2目录大小重新计算函数RE S IZE() (4) 2.3输出树形结构的函数OUT P UT() (5) 3、设计实践 (5) 4、测试方法 (14) 4.1测试目的 (14) 4.2测试输入 (15) 4.3正确输出 (15) 4.4实际输出 (17) 5 程序运行效果 (19) 5.1测试结果分析 (19) 5.2探讨与改进 (19) 6 设计心得 (20) 1

树的遍历:文件目录结构的显示 1、设计内容 给出Unix下目录和文件信息,要求编程实现将其排列成一定缩进的树。具体要求如下。输入要求: 输入数据包含几个测试方案。每一个案例由几行组成,每一行都代表了目录树的层次结构。第一行代表目录的根节点。若是目录节点,那么它的孩子节点将在第二行中被列出,同时用一对圆括号“()”界定。同样,如果这些孩子节点钟某一个也是目录的话,那么这个目录所包含的内容将在随后的一行中列出,有一对圆括号将首位界定。目录的输入格式为:*name size,文件的输入格式为:name size,其中*代表当前节点的目录,name代表文件或目录的名称,由一串长度不大于10的字符组成,并且name字符串中不能包含有‘(’,‘)’,‘[’,‘]’,‘*’。size是该文件/目录的大小,为大于0的整数。每一个案例中最多只能包含10层,每一层最多有10个文件/目录。 输出要求: 对每一个测试案例,输出时要求:第d层的文件/目录名前面需要插入8*d个空格,兄弟节点之间要在同一列上。不要使用Tab(制表符)来统一输出的缩进。每一个目录的大小(size)是它包含的所有子目录和文件大小以及它自身大小的总和。 输入例子: */usr1 (*mark 1 *alex 1) (hw.c3 *course 1)(hw.c 5) (aa.txt 12) */usr 1 () 表示含有两个不同的根目录,目录名都是/usr,第一个根目录/usr 下包含mark和alex两个子目录,mark目录下包含大小为3的文件hw.c和子目录course,alex目录下有一个大小为5的文件hw.c,子目录course下包含文件aa.txt,其大小为12;第二个根目录/usr下为空。 2

文件隐藏属性不能修改的解决办法

文件隐藏属性不能修改的解决办法 有时候系统中病毒以后(例如sxs.exe和lsass(落雪病毒)),杀毒软件无法杀毒,或者没有杀毒软件.这时就需要手动杀毒.这时往往需要删除病毒文件,病毒文件为了保护自己,总是把自己隐藏起来. 把文件属性设置成隐藏,一般的病毒我们通过修改菜单:工具--文件夹选项--查看--显示隐藏文件即可.但是很多病毒通过修改注册表使我们这步操作失效,还是无法看到隐藏文件,下面的操作就是教我们如何通过修改注册表让隐藏的文件原形毕露。首先要显示出被隐藏的系统文件运行regedit HKEY_LOCAL_MACHINE | Software |Microsoft | windows | CurrentV ersion | explorer | Advanced | Folder | Hidden | SHOWALL,将CheckedV alue键值修改为1 但可能依然没有用,隐藏文件还是没有显示,这是因为病毒在修改注册表达到隐藏文件目的之后,把本来有效的DWORD值CheckedV alue删除掉,新建了一个无效的字符串值CheckedV alue,并且把键值改为0!方法:删除此CheckedV alue键值,单击右键新建Dword 值,命名为CheckedV alue,然后修改它的键值为1,这样就可以选择“显示所有隐藏文件”和“显示系统文件”。删除auto.inf文件,重启电脑. 显示隐藏文件的方法打开“记事本”,复制如下内容:Windows Registry Editor V ersion 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentV ersion\Explorer\Ad vanced\Folder\Hidden\SHOWALL] "CheckedV alue"=dword:00000001 保存文件名:“显示被隐藏的文件.REG”,(确保在“文件夹选项”中去掉“隐藏已知文件类型的扩展名”),双击运行此文件,再重新到“文件夹选项”中设置显示隐藏文件。升级杀毒软件病毒库,查杀病毒回答者:张秀才- 一派掌门十二级6-19 14:18sxs.exe是修改过的落雪病毒也就是现在非常流行的病毒! 可以结束SXS的进程删除,记住,用鼠标右键进入硬盘同时按下Ctrl+Shift+Esc三个键打开windows任务管理器选择里面的“进程”标签在“映像名称”下查找“sxs.exe”但击它再选择“结束进程”一定要结束所有的“sxs.exe”进程打开我的电脑单击工具菜单下的“文件夹选项”单击“查看”标签把“高级设置”中的“隐藏受保护的操作系统文件(推荐)”前面的勾取消并选择下面的“显示所有文件和文件夹”选项单击“确定”用鼠标右键点C盘(不能双击!)选择“打开”删除C盘下的“autorun.inf”文件和“sxs.exe”文件用鼠标右键点D盘选择“打开”删除D盘下的“autorun.inf”文件和“sxs.exe”文件(另外有个文件也是,是个.exe 同样删了它)……以此类推删除所有盘上的AUTORUN.INF文件和“rose.exe”文件单击开始选择“运行”输入"regedit"(没有引号) ,回车依次展开注册表编辑器左边的我的电脑>HKEY_LOCAL_MACHINE>SOFTWARE>Microsoft>Windows>CurrentV ersion>Run 删除Run项中的ROSE (c:\windows\system32\SXS.exe)这个项目关闭注册表编辑器然后重新启动计算机删除硬盘上是ROSE:按下shift键不放插入U盘直到电脑提示“新硬件可以使用”打开我的电脑这时在U盘的图标上点鼠标右键选择“打开”(不要点自动播放或者是双击!)删除SXS.exe和autorun.inf文件病毒就没有了有史以来第一次遭遇如此顽固的病毒,网上找了找,没有统一的名字,瑞星称为Trojan.PSW.QQPass.pqb 病毒,我就叫它sxs.exe病毒吧重装系统后,双击分区盘又中了,郁闷,瑞星自动关闭无法打开,决定手动将其删除现象:系统文件隐藏无法显示,双击盘符无反映,任务管理器发现sxs.exe 或者svohost.exe (与系统进程svchost.exe 一字之差),杀毒软件实时监控自动关闭并无法打开找了网上许多方法,无法有效删除,并且没有专杀工具手动删除“sxs.exe病毒”方法:在以下整个过程中不得双击分区盘,需要打开时用鼠标右键——打开 一、关闭病毒进程Ctrl + Alt + Del 任务管理器,在进程中查找sxs 或SVOHOST(不是

Linux C :遍历输出指定目录下的所有文件

Linux C :遍历输出指定目录下的所有文件 在Linux下opendir()、readdir()和closedir()这三个函数主要用来遍历目录。在使用这三个函数前必须先包括以下两个头文件: #include #include opendir函数的原型为: DIR *opendir(const char *name); 它返回一个DIR*类型,这就是一个句柄啦,你不用管它的内部结构是什么样的,只要知道这个句柄就是等一下要传给readdir()函数的参数就行了。 readdir函数的原型为: struct dirent *readdir(DIR *dir); 看它的参数就知道该参数是opendir函数返回的句柄,而该函数的返回值是struct dirent* 类型,这里我们必须了解一下这个结构体: struct dirent { ino_t d_ino; /* inode number */ off_t d_off; /* offset to the next dirent */ unsigned short d_reclen; /* length of this record */ unsigned char d_type; /* type of file */ char d_name[256]; /* filename */ }; 这个结构体的d_name存放的就是文件的名字,这里的文件包括普通文件,目录文件等等,在linux的思想中,所有的东西都是文件。 closedir函数的原型为: int closedir(DIR *dir); 这个函数就不用多说了,一般有开(open),就有关(close),这样的结构经常可出看到,如fopen,fclose等等。 三个函数介绍完了,直接来一个例子吧: SearchDir.c#include #include #include #include #include char filename[256][256]; int len = 0; int trave_dir(char* path, int depth) { DIR *d; //声明一个句柄 struct dirent *file; //readdir函数的返回值就存放在这个结构体中 struct stat sb;

C#遍历目录下的所有文件夹

//这个是网上转的上一个也是仿照这个改的同样是win32控制台程序学习! using System; using System.Collections.Generic; using System.Text; using System.IO; namespace TestFileInfo { class Program { static void Main(string[] args) { string pathNames=null; do { Console.Write("请输入目录路径名(输入x退出程序):"); pathNames = Console.ReadLine(); if ((pathNames == "X") || (pathNames == "x")) break; DirectoryInfo dirPath = new DirectoryInfo(pathNames); CDirectoryInfo dirObject = new CDirectoryInfo(); Console.Write(dirObject.GetDirectoryInfos(dirPath)); Console.WriteLine("______________________________________________ ________/n"); //dirObject.pathNameProp = null; //Console.Write(dirObject.GetDirectoryInfos(pathNames)); //Console.WriteLine("_____________________________________________ ________"); } while (true);//((pathName == "X") || (pathName == "x")); Console.Write("/n程序已终止,按任意键退出程序!"); Console.ReadKey(); } }

如何解决无法显示隐藏文件夹!

前几天还在电脑公司上班的时候,发现有相当数量的顾客的硬盘一般除 了C盘外,双击盘符无法打开,对于个人普通用户这种简单问题自然也 要找人了!点击鼠标右键发现第一项并非是打开,而是一个什么AUTO之 类的东西。不用说自然是中招了,一般来讲电脑公司习惯于装系统了 事,简单吗,在电脑公司来三五天的人都能做到。不过具我们公司的技 术学员和客户反应重新装系统之后(万能克隆几分钟就搞定了),无法解 决问题!本人只好来手工解决! 杀马当然要看进程和显示隐藏文件及扩展名,不过病毒竟然在这里 动了手脚。在文件夹选项中“隐藏文件和文件夹“⒈不显示隐藏的文件 和文件夹 ⒉显示所有文件和文件夹的地方选择”显示所有文件与文件 夹“之后无法显示,点击应用确定后依然如故,重新打开发现自动又变 了回去。幸好以前在哪里看到过超级隐藏之类的东西,本人还保存了那 个显示隐藏文件和文件夹的注册表文件! Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explore "CheckedValue"=dword:00000001 打开注册表,找到以上注册表项。发现checkvalue设置成了0。看 正常电脑为1,自然改成1再说。再一次设置文件夹选项,显示所有文件 夹,恢复正常。发现每个分区下都有几个隐藏文件,怪不得重装系统也 没有用,而且连瑞星杀毒软件都无法安装!结束相关进程,把所有相关 文件删除,右键恢复正常!原来是病毒文件搞的鬼,而且设置了系统, 使用户无法显示隐藏的文件自然就看不到它自己,真是无孔不入!删除 后安装杀毒软件一切正常也没有其他问题!问题虽然相当简单,但那几 天有相当一部分客户拿来维修都是完全一样的问题,也不知道是不是新 出现的什么东西!虽然对于搞电脑的人是最入门级的东西,但对普通用 户也不是简单的问题! 事后研究了一下,最近无事,想想BLOG也没什么可写,贴在此处以 供新手查询,高手勿笑! 1 在注册表 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\A

显示(恢复)被病毒隐藏文件的方法

显示(恢复)被病毒隐藏文件夹的方法 如果你打开U盘,发现里面的很多文件夹都不见了,但是查U盘空间使用容量大小的时候又发现U盘被使用了很多空间,怎么回事呢?那就是因为你的文件夹被病毒隐藏了! 一般情况下这种病毒会隐藏你U盘里的所有文件夹,然后做一个假文件夹让你点击激活病毒。一般情况下假文件夹是“.exe”格式的。 如何解决这一问题呢,可以试试如下方法: 1、先用杀毒软件杀毒,彻底删除这些可恶的病毒!实在不行就在安全模式下杀毒,根除病毒! 2、杀完病毒后,你会发现你的很多文件或者文件夹都没有了,你还在伤心自己保存的文件都被“杀”了,别担心,这些文件夹只不过被隐藏了而已(之前病毒修改了文件的设置)! 但是你点击“工具——文件夹选项——查看——显示隐藏文件”后依然看不到被隐藏的文件的影子,别急!下面我来教你做一个win批处理文件来解决这个问题:) 3、新建一个txt文本文档,打开这个新建的文本,在里面写下(或复制我写好的)如下内容 ( for /f "delims=" %%i in ('dir /ah /s/b') do attrib "%%i" -s –h)只复制括号内的全部内容! 4、然后保存——关闭文档——修改文档格式为“.bat”。再重命名文件叫“恢复隐藏文件”以便以后自己容易找到。(当然你也可以自己看着办取什么名字) 5、做好这个WIN批处理文件之后,把这个文件复制到你需要恢复的盘里。然后双击该文件开始处理。 6、好了!恭喜你所有被病毒隐藏的文件都被找回来了!该方法对大部分的被病毒隐藏的文件夹都有效。如果您觉得这个方法有效,请麻烦您动一动手把这个文档下载下来,免费下载的!这样会为我多加一分,谢谢啦~!

隐藏的文件夹和系统文件看不到怎么办

隐藏的文件夹和系统文件看不到怎么办 第一种方法: 无法显示隐藏文件的原因: 可能系统中病毒以后(例如sxs.exe和lsass(落雪病毒)),杀毒软件无法杀毒,或者没有杀毒软件.这时就需要手动杀毒.这时往往需要删除病毒文件,病毒文件为了保护自己,总是把自己隐藏起来.把文件属性设置成隐藏,一般的病毒我们通过修改菜单:工具--文件夹选项--查看--显示隐藏文件即可.但是很多病毒通过修改注册表使我们这步操作失效,还是无法看到隐藏文件解决方法:。 运行“regedit” HKEY_LOCAL_MACHINE / Software /Microsoft / windows / CurrentVersion / explorer / Advanced / Folder / Hidden / SHOW ALL,将CheckedValue键值修改为1 但可能依然没有用,隐藏文件还是没有显示,这是因为病毒在修改注册表达到隐藏文件目的之后,把本来有效的DWORD值CheckedValue删除掉,新建了一个无效的字符串值CheckedV alue,并且把键值改为0! 方法:删除此CheckedValue键值,单击右键新建Dword值,命名为CheckedValue,然后修改它的键值为1,这样就可以选择“显示所有隐藏文件”和“显示系统文件”。 第二种方法: 将下面的内容复制,用记事本另存为123.reg 双击导入 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanc ed\Folder\Hidden\NOHIDDEN] "RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced" "Text"="@shell32.dll,-30501" "Type"="radio" "CheckedValue"=dword:00000002 "ValueName"="Hidden" "DefaultValue"=dword:00000002 "HKeyRoot"=dword:80000001 "HelpID"="shell.hlp#51104"

用vba遍历文件夹和子文件夹中的所有文件

在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth 对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "\" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub

如何隐藏文件夹(文件)及查看隐藏文件

如何隐藏文件夹(文件)及查看隐藏文件 推荐一、设置隐藏文件夹的几种方法: 1、右键要隐藏的文件夹,点/属性/选中隐藏;再打开/我的电脑/工具//文件夹选项/查看/勾选隐藏所有文件和文件夹/确定即可。若要使用该隐藏文件夹,可打开/我的电脑/工具/文件夹选项/查看/勾选“显示所有文件和文件夹”就可。 但由于只要选择“显示所有文件”单选就能将它们全部显示出来,因此,必须对“显示所有文件”这个命令加以限制。方法:在注册表编辑器中找到“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows \CurrentV ersion\explorer\Advanced\Folder\Hidden\SHOWALL”分支,然后在右窗口中找到二进制子键“Checkedvalue”,把其键值改为“0”。这样,即使在“查看”选项卡中选择了“显示所有文件”,但系统仍不会显示出隐藏着的个人文件。并且当他人重新进入“查看”,就会发现,系统又自动选中了“不显示隐藏文件”。 另外,用注册表编辑器,可将“查看”中的“隐藏文件”项下的三个单选按钮都隐藏掉。只需将上述“Hidden”下“NOHIDDEN”、“NOHIDORSYS”、“SHOWALL”三个分支中的“Text”字符串键(注:WindowsXP中该键的键值不同)的健值清除掉。这样,退出注册表编辑器后再进入“查看”,就会发现“隐藏文件和文件夹”下面空空如也。 2、使用软件: 1)用超级兔子或WINDOWS优化大师,里面有隐藏文件夹选项,很好用;如果想用专业点的,可以在BAIDU里面搜索一下“文件隐藏”相信会有你满意的答案的。(用超级兔子隐藏文件,必须用超级兔子还原)。 2)文件夹隐藏大师V3.2 https://www.360docs.net/doc/a58804738.html,/soft/6172.html 功能: A、能把你藏有私人资料的文件夹隐藏起来,即使在“文件夹选项”中选“显示所有文件”也看不到。 B、能把文件夹的外观变成像“*.dll”,“*.SYS”等系统文件图标,让别人误以为这是一些打不开的文件。 C、可锁定我的文档、控制面板、我的电脑等数十个系统项目,且被禁止的选项都能在本软件中被立即打开,避免了每次使用这些选项时都要重新设置,重启系统,尤其适合网吧和公共机房的管理。 D、有程序锁功能,可锁定一些不想别人打开的程序,每次使用该程序都要输入正确的密码,而使用完后又不用重新加密。 E、新加入了“私人文件夹”功能,可让不同的用户每人申请一个“私人文件夹”,当要用到各自的资料时,输入用户名和对应的密码才能进入,非常方便。

c#遍历一个文件夹下的所有文件包括子文件夹

c#遍历一个文件夹下的所有文件包括子文件夹 using System; using System.IO; class ListAllFilesDemo { public static void Main() { Console.Write( "请输入要查询的目录: "); string dir = Console.ReadLine(); try { ListFiles(new DirectoryInfo(dir)); } catch(IOException e) { Console.WriteLine(e.Message); } } public static void ListFiles(FileSystemInfo info)

{ if (!info.Exists) return; else { DirectoryInfo dirInfo = info as DirectoryInfo; if (dirInfo != null) { foreach (var file in dirInfo.GetFileSystemInfos()) { FileInfo fileInfo = file as FileInfo; if (fileInfo != null) Console.WriteLine(fileInfo.FullName); else { listFiles(file as DirectoryInfo); } } }

} } } C#中遍历目录下的目录的文件(二) 1、遍历一个目录下的全部目录,要用到System.IO.DirectoryInfo 类的GetDirectories方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetDirectories("*")) {//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示 Response.Write(https://www.360docs.net/doc/a58804738.html, + "
");//打印目录名 Response.Write(dChild.FullName + "
");//打印路径和目录名} 2、遍历一个目录下的全部文件,要用到System.IO.DirectoryInfo 类的GetFiles方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetFiles("*")) {//如果用GetFiles("*.txt"),那么全部txt文件会被显示 Response.Write(https://www.360docs.net/doc/a58804738.html, + "
");//打印文件名

教你如何显示U盘隐藏文件

教你如何显示U盘隐藏文件U盘或者MP3等闪存工具如果不注意乱插电脑的话,很容易遭受U盘病毒侵袭!可能下次打开U盘时你会发现文件都不见了,但U盘容量正常。遇到这种情况,除了求助U盘专杀等软件外,一些小技巧可以帮助你轻松搞定这些难缠的病毒。 方法一 介绍一种几乎尽人皆知的最简单办法。新手必知,老鸟无视便好~这种方法只可以简单还原隐藏文件,遇到“顽固”症状请使用方法二 打开U盘,点击左上角菜单栏里的“组织”按钮(win7) 点击“文件夹和搜索选项”,点击“查看”选项页 找到“显示隐藏的文件、文件夹、驱动器”选项,打钩即可。 方法二 此法利用了attrib命令(来源于attribute :特征,属性),强制修改文件夹的属性,以达到显示隐藏文件夹的功能。以恢复G盘“我的图片”文件夹为例: 点击“开始”按钮,在运行中输入cmd,启动MS-DOS窗口 输入命令:attrib G:"我的图片" -s -h -r

回车后,看看U盘里,我的图片文件夹是不是又出现啦!如果要显示G盘里所有文件,可输入:attrib G:"*" -s -h -r /s /d attrib语法释义: +r 设置只读文件属性。 -r 清除只读文件属性。 +a 设置存档属性。 -a 清除存档属性。 +s 设置系统文件属性。 -s 清除系统文件属性。 +h 设置隐藏文件属性。 -h 清除隐藏文件属性。 /s 将attrib和任意命令行选项应用到当前目录及其所有子目录中的匹配文件。 /d 将attrib 和任意命令行选项应用到目录。 /? 在命令提示符下显示帮助 注意事项

1、请注意attrib命令中的空格,如果语法错误,命令将无法运行。 2、如此两种小技巧仍无法解决问题,请求助专业软件吧。

递归遍历目录的实现(c)

由于工作中需要使用到遍历目录,所以就自己收集整理相关资料,写了下面的函数,希望对大家有所帮助。 #include #include #include #include //将数组myarray的内容复制到数组S中 void initarray(char s[],char myarray[]) { int i; for(i=0;i

使用boost中的filesystem类库遍历某个目录所有的文件

使用boost中的filesystem类库遍历某个目录所有的文件 #include #include 使用boost中的filesystem类库遍历某个目录所有的文件 int GetAllFileOfPath(const string strPath) { namespace fs = boost::filesystem; // 得到配置文件夹. if ( strPath.size() < 2 ) { return 0; } fs::path full_path( fs::initial_path() ); full_path = fs::system_complete( fs::path( strPath, fs::native ) ); unsigned long file_count = 0; unsigned long dir_count = 0; unsigned long err_count = 0; if ( !fs::exists( full_path ) ) { std::cout << "找不到配置文件目录,请检查该目录是否存在:" std::cout << full_path.native_file_string() << std::endl; return -1; } // 遍历配置文件所在的文件夹,得到所有的配置文件名. if ( fs::is_directory( full_path ) ) { fs::directory_iterator end_iter; for ( fs::directory_iterator dir_itr( full_path ); dir_itr != end_iter; ++dir_itr ) { try { if ( fs::is_directory( *dir_itr ) ) {

VBA遍历所有文件夹的两种方法(filesearch和FileSystemObject)

VBA遍历所有文件夹的两种方法(filesearch和FileSystemObject) 在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第一种方法:使用filesearch对象 Sub mysearch() Dim fs, i, arr(1 To 10000) Set fs = Application.FileSearch '设置一个搜索对象 With fs .LookIn = ThisWorkbook.Path & "/" '设置搜索路径 .Filename = "*.xls" '要搜索文件名和类型 .SearchSubFolders = True '是否需要搜索子文件夹 If .Execute > 0 Then '如果找不到文件 MsgBox "There were " & .FoundFiles.Count & _ " file(s) found." '显示文件找不到 For i = 1 To .FoundFiles.Count '通过循环把所有搜索到的文件存入到数组中 arr(i) = .FoundFiles(i) Next i Sheets(1).Range("A1").Resize(.FoundFiles.Count) = Application.Transpose(arr) ' '把数组内的路径和文件名放在单元格中 Else MsgBox "There were no files found." End If End With End Sub 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "/" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub

隐藏文件无法取消隐藏属性的解决

页眉内容 出现这种情况,多半是电脑中毒了,而且多半是U盘病毒,该病毒主要将文件夹隐藏(而且无法取消隐藏属性),然后创建一个与文件夹同名且图标与文件夹相同但是后缀为exe的可执行文件(该文件多半就是病毒文件),然后病毒将电脑中的显示系统文件、显示隐藏文件、显示扩展名三个选项关闭,这样对于一名菜鸟来说,病毒就轻而易举的被伪装了,甚至是玩过多年计算机的老手都非常容易被骗过。然后跟随U盘一起到处传播,直到用户以为是文件夹而双击该可执行文件,表面上毫无反应,但是可以毫无疑问的告诉你,你的电脑中毒了,除非你安装了能够侦测或杀灭该病毒的杀毒软件。 当有些人发现后却已经来不及了,但是他需要打开文件夹啊,然后把显示系统文件和显示隐藏文件的选项打开,删除可执行文件,正准备将文件夹取消隐藏属性时,发现该选项是灰色的。 这里是解决办法,打开cmd:按win(键盘上左下角ctrl和alt中间的Windows 图标按键)+R打开“运行”界面,输入cmd,然后回车。 切换到u盘或者是其他需要显示隐藏文件夹的分区主目录:在cmd窗口中输入盘符:,比如h:,然后回车。 输入attrib *.* -h -s /s /d 敲回车建,然后稍等一会儿,我们发现不仅文件已经显示了,而且隐藏选项也可以修改了。 这是为什么呢,因为病毒防止用户修改文件夹选项,从而把文件夹变成了系统文件导致用户无法修改隐藏选项。 对于有什么好的方法防止u盘中毒。我有一个好的办法,首先是杀毒软件,另外就是我们需要养成一种好的习惯,即右键u盘,然后选择打开。因为当双击打开u盘,里面如果有autofun.inf文件,且在文件中定义了自动运行文件则会非常容易中毒,所以u盘里面的autorun.inf文件可以毫不犹豫的删掉.另外分辨图标是文件还是文件夹的办法即将鼠标放在图标上,显示是文件的大小等信息的则为文件,否则为文件夹。 1页脚内容

c#遍历一个文件夹下的所有文件包括子文件夹

using System; using System.IO; class ListAllFilesDemo { public static void Main() { Console.Write( "请输入要查询的目录: "); string dir = Console.ReadLine(); try { ListFiles(new DirectoryInfo(dir)); } catch(IOException e) { Console.WriteLine(e.Message); } } public static void ListFiles(FileSystemInfo info) { if(!info.Exists) return; DirectoryInfo dir = info as DirectoryInfo; //不是目录 if(dir == null) return; FileSystemInfo [] files = dir.GetFileSystemInfos(); for(int i = 0; i < files.Length; i++) { FileInfo file = files[i] as FileInfo; //是文件 if(file != null)

Console.WriteLine(file.FullName + "\t " + file.Length); //对于子目录,进行递归调用 else ListFiles(files[i]); } } } C#中遍历目录下的目录的文件(二) 1、遍历一个目录下的全部目录,要用到System.IO.DirectoryInfo 类的GetDirectories方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetDirectories("*")) {//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示 Response.Write(https://www.360docs.net/doc/a58804738.html, + "
");//打印目录名 Response.Write(dChild.FullName + "
");//打印路径和目录名} 2、遍历一个目录下的全部文件,要用到System.IO.DirectoryInfo 类的GetFiles方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetFiles("*")) {//如果用GetFiles("*.txt"),那么全部txt文件会被显示 Response.Write(https://www.360docs.net/doc/a58804738.html, + "
");//打印文件名 Response.Write(dChild.FullName + "
");//打印路径和文件名}

用vba遍历文件夹和子文件夹中的所有文件

精品文档 在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth 对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "\" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub .

相关文档
最新文档