導航:首頁 > 文件目錄 > 遞歸輸出文件的路徑

遞歸輸出文件的路徑

發布時間: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);
}

閱讀全文

與遞歸輸出文件的路徑相關的資料

熱點內容
微信動態表情包搞笑 瀏覽:436
可以去哪裡找編程老師問問題 瀏覽:608
win10lol全屏 瀏覽:25
qq圖片動態動漫少女 瀏覽:122
sai繪圖教程視頻 瀏覽:519
如何分析載入減速法數據 瀏覽:672
手機怎麼免費轉換pdf文件格式 瀏覽:668
在哪個網站可以駕照年檢 瀏覽:89
iphone可以播放ape嗎 瀏覽:991
matlabp文件能破解嗎 瀏覽:817
四川省高三大數據考試是什麼 瀏覽:457
導出打開java文件 瀏覽:671
win10藍屏是硬碟壞了么 瀏覽:46
沈陽哪裡適合學編程 瀏覽:811
django19常用版本 瀏覽:521
三國志11保存在哪個文件夾 瀏覽:88
iphone4s加速 瀏覽:108
編程內存和顯卡哪個重要 瀏覽:672
android連接網路列印機 瀏覽:195
linuxsftp如何上傳文件 瀏覽:603

友情鏈接