在 Debian 系統中,readdir
是一個用于讀取目錄內容的函數,通常用在 C 或 C++ 程序中。如果你想使用 readdir
實現對目錄的批量操作,可以通過遍歷目錄中的每個條目并對其進行處理。下面是一個簡單的示例代碼,演示如何使用 readdir
來列出目錄中的所有文件和子目錄。
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main(const int argc, const char *argv[]) {
DIR *dir;
struct dirent *entry;
// 檢查命令行參數
if (argc != 2) {
fprintf(stderr, "Usage: %s <directory>\n", argv[0]);
return EXIT_FAILURE;
}
// 打開目錄
dir = opendir(argv[1]);
if (dir == NULL) {
perror("opendir");
return EXIT_FAILURE;
}
// 遍歷目錄中的每個條目
while ((entry = readdir(dir)) != NULL) {
// 忽略當前目錄和父目錄的特殊條目
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
continue;
}
// 打印文件或目錄名
printf("%s\n", entry->d_name);
// 在這里可以添加更多的批量操作代碼
// 例如,刪除文件、移動文件等
}
// 關閉目錄
closedir(dir);
return EXIT_SUCCESS;
}
將上述代碼保存為 listdir.c
。
使用以下命令編譯程序:
gcc -o listdir listdir.c
運行程序并列出指定目錄中的內容:
./listdir /path/to/directory
在遍歷目錄的過程中,你可以添加任何需要的批量操作。例如:
remove()
函數。rename()
函數。shutil
(在 Python 中)。stat()
函數。請務必在執行刪除或其他修改操作之前確認你的操作,以免誤刪重要文件。