导航:首页 > 文件目录 > 递归输出文件的路径

递归输出文件的路径

发布时间:2024-05-26 17:26:50

1. 巧用tree命令导出文件目录递归详情

我清楚的记得在我读研二的时候有一次我帮老师收“海外名师课堂”的作业,有一名巴基斯坦的学生,想要老师的课件,我当时给他说这个不被允许,随便给外国留学生拷贝课件原则上是不允许的,我是这样认为的。但是他说这个是经过了我们老师的同意,听到这我就给他拷贝了课件,不然好像显得我们巴铁关系也不怎么铁,一个课件都不拷贝。但是同时他希望我能给他提供课件的目录概览信息,他当时说的英文,但是我听出来了,并想都没想就回答:“OK,I’ll send you later.”

回到教研室,我就开始琢磨这个事儿,因为课件很大,目录很深,并且内容也是非常多的。靠人为梳理目录关系肯定是不行的,我就想起来以前用过的 tree 命令,在网上搜罗了一下,还真的有类似的功能样例,可以直接输出指定目录的递归文件概览详情。

二话不说,先看命令:

<pre class="custom" data-tool="mdnice编辑器" style="margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;">`# 切换至目标目录, /d是切换盘符的意思

cd /d W:Google_Download

tree /f > W: ree.txt` </pre>

不过说真的,Windows的cmd命令真是恶心极了,难道就不能向Linux一样,直接 cd 吗!还非得加个 /d 参数。

命令执行如下:

执行结果如图所示:

从上图来看,我们完整的拿到了目标目录 W:Google_Download 的文件递归详情。

如果你也有类似的需求,那么这个 命令对你会非常有帮助!省时省力~

Linux tree命嫌颂令用于以树状图列出目录的内容。

执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

<pre class="custom" data-tool="mdnice编辑器" style="margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;"> -a 显示所有文件和目录。 -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。 -C 在文件和目录清单加上色彩,便于区分各种类型。 -d 显示目录悉燃名称而非内容。 -D 列出文件或目录的更改时芹陆郑间。 -f 在每个文件或目录之前,显示完整的相对路径名称。 -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。 -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。 -i 不以阶梯状列出文件或目录名称。 -L level 限制目录显示层级。 -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。 -n 不在文件和目录清单加上色彩。 -N 直接列出文件和目录名称,包括控制字符。 -p 列出权限标示。 -P<范本样式> 只显示符合范本样式的文件或目录名称。 -q 用"?"号取代控制字符,列出文件和目录名称。 -s 列出文件或目录大小。 -t 用文件和目录的更改时间排序。 -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。 -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。 </pre>

使用 tree 命令如下,经过我的使用,好像Windows OS不完全支持 tree 命令!

不过在某些情况下, tree 命令还是能够帮我们解决一些问题的。

2. VB怎样快速获取当前文件夹下的所有文件的路径(包括子目录)

有两种方法:
1、使用DIR递归,不过这是微软明确不推荐的
2、最快但不太正规的
使用 Shell "cmd /k dir c:\windows /s/b/a >>d:\jg.txt"
c:\windows 目标文件夹,当前文件夹为 app.path,你可以根据要求生成命令字符串
d:\jg.txt 为临时文件
执行这行后再读取临时文件即可。极快!

3. Linux 编程问题之递归取目录下所有文件名与路径

楼主,你好!

在BLP上正好见过这个程序,编译好执行的时候,传递的参数为要打印的目录

代码如下,纯C写的,希望对你有帮助

#include <unistd.h>
#include <stdio.h>
#include <dirent.h>

#include <string.h>
#include <sys/stat.h>
#include <stdlib.h>

void printdir(char* dir, int depth)
{
DIR *dp;
struct dirent *entry;
struct stat statbuf;

if( (dp = opendir(dir)) == NULL )
{
fprintf(stderr, "cannot open directory: %s\n", dir);
return;
}

chdir(dir);
while( (entry = readdir(dp)) != NULL)
{
lstat(entry->d_name, &statbuf);
if( S_ISDIR(statbuf.st_mode) )
{
if( strcmp(".", entry->d_name) == 0 || strcmp("..", entry->d_name) == 0 )
continue;
printf("%*s%s/\n", depth, "", entry->d_name);
printdir(entry->d_name, depth+4);
}
else
printf("%*s%s\n", depth, "", entry->d_name);
}
chdir("..");
closedir(dp);
}

int main(int argc, char* argv[])
{
char *topdir = ".";
if( argc >= 2 )
topdir=argv[1];
printf("Directory scan of %s\n", topdir);
printdir(topdir, 0);
printf("Done.\n");

exit(0);
}

阅读全文

与递归输出文件的路径相关的资料

热点内容
编程小朋友看什么书 浏览:623
经营如何让数据说话 浏览:258
如何在手机上升级opop 浏览:614
coreldrawx5免费视频教程 浏览:725
网站引导页面源码 浏览:234
个人简历范文word 浏览:220
uc下载的视频怎样提取到文件 浏览:499
英雄下载下载最新版本2015下载安装 浏览:433
NX深孔钻编程替换面如何操作 浏览:725
手机怎么删除pdf文件 浏览:256
苹果手机没有efs文件夹怎么办 浏览:723
metro软件在哪个文件夹 浏览:69
怎么用手机登录编程猫 浏览:400
文本md204显示器如何编程 浏览:705
如何将表中重复数据标记 浏览:859
中级数据库系统工程师应用技术考什么 浏览:404
博途编程如何设置停止键 浏览:409
python3删除文件内容 浏览:754
如何优化seo数据分析 浏览:132
64位win7下部分32位程序不能运行 浏览:206

友情链接