.NET幫助 C# Directory.GetFiles(工作方式:開發者指南) Curtis Chau 更新日期:6月 22, 2025 Download IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article C# out 參數。 通過將此功能與 IronPDF 配對,開發人員可以大規模自動化 PDF 工作流程。 例如,您可以使用 Directory.GetFiles 定位資料夾中的所有 PDF 文件,然後使用 IronPDF 批量處理它們以執行合併、添加註釋或生成報告等任務。 這種組合允許簡化操作,特別是在處理許多文件系統中的文件時。 什麼是 IronPDF? IronPDF 是一個強大的 .NET 函式庫,為開發人員提供無縫處理 PDF 文件的工具。 使用 IronPDF,您可以創建、編輯、合併、拆分和操作 PDF,使用簡單直觀的方法。 它包括強大的功能,例如 HTML 到 PDF 轉換、高級樣式和元數據處理。 對於需要 PDF 處理的應用程序的 .NET 開發人員來說,IronPDF 是一個無價之寶,它簡化了工作流程並提高了生產力。 入門指南 安裝 IronPDF NuGet 包安裝 首先,通過 NuGet 將 IronPDF 添加到您的項目中: 在 Visual Studio 中打開項目。 前往工具菜單,選擇NuGet 包管理器 > 為解決方案管理 NuGet 包。 在 NuGet 包管理者中搜尋 IronPDF。 安裝 IronPDF 的最新版本。 或者,使用 NuGet 包管理器控制台: Install-Package IronPdf C# 中 Directory.GetFiles 的基礎知識 Directory.GetFiles 方法是 System.IO 命名空間的一部分,用於從文件系統檢索文件名。 此方法是 Directory 類的一個公共靜態字符串成員,簡化了對文件路徑的訪問。 PDF 的創建和生成由 iText 7 支持,而 HTML 到 PDF 的轉換由 pdfHTML 支持。 string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf"); string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf"); Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf") $vbLabelText $csharpLabel 這段程式碼段檢索當前目錄中的所有 PDF 文件。 通過將此方法與 IronPDF 結合,您可以創建一次處理多個文件的自動化解決方案。 您還可以應用指定的搜索模式,定義為字符串模式,根據文件的擴展名或名稱過濾文件。 您可以進一步優化您的文件檢索邏輯,通過指定搜索選項,例如包括搜索子目錄: string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf", SearchOption.AllDirectories); string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf", SearchOption.AllDirectories); Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf", SearchOption.AllDirectories) $vbLabelText $csharpLabel 這確保嵌套文件夾中的文件也被包括在內,檢索每個文件的絕對路徑,並使該方法在各種場景中具有靈活性。 實際應用案例 從目錄中提取和處理 PDF 文件 示例:加載所有 PDF 文件進行處理 使用 Directory.GetFiles,您可以遍歷目錄中的所有 PDF 文件並使用 IronPDF 處理它們: string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf"); foreach (string file in pdfFiles) { // Load the PDF with IronPDF var pdf = PdfDocument.FromFile(file); Console.WriteLine($"Processing file: {Path.GetFileName(file)}"); } string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf"); foreach (string file in pdfFiles) { // Load the PDF with IronPDF var pdf = PdfDocument.FromFile(file); Console.WriteLine($"Processing file: {Path.GetFileName(file)}"); } Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf") For Each file As String In pdfFiles ' Load the PDF with IronPDF Dim pdf = PdfDocument.FromFile(file) Console.WriteLine($"Processing file: {Path.GetFileName(file)}") Next file $vbLabelText $csharpLabel 此示例演示如何從目錄加載多個 PDF 進行處理。 加載後,您可以執行各種操作,例如提取文本、添加註釋或根據其內容生成新 PDF。 使用搜索模式過濾文件 示例:按名稱或日期選擇 PDF 您可以將 Directory.GetFiles 與 LINQ 結合,以創建或修改日期等條件過濾文件: string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf"); var recentFiles = pdfFiles.Where(file => File.GetLastWriteTime(file) > DateTime.Now.AddDays(-7)); foreach (string file in recentFiles) { Console.WriteLine($"Recent file: {Path.GetFileName(file)}"); } string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf"); var recentFiles = pdfFiles.Where(file => File.GetLastWriteTime(file) > DateTime.Now.AddDays(-7)); foreach (string file in recentFiles) { Console.WriteLine($"Recent file: {Path.GetFileName(file)}"); } Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf") Dim recentFiles = pdfFiles.Where(Function(file) File.GetLastWriteTime(file) > DateTime.Now.AddDays(-7)) For Each file As String In recentFiles Console.WriteLine($"Recent file: {Path.GetFileName(file)}") Next file $vbLabelText $csharpLabel 此方法確保僅處理相關文件,節省時間和計算資源。 例如,您可以使用此方法僅處理最近一周生成的最新發票或報告。 使用 IronPDF 和 Directory.GetFiles 批量操作 示例:附加多個 PDF 您可以將目錄中的多個 PDF 附加成單個文件: string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf"); var pdfAppend = new PdfDocument(200, 200); foreach (string file in pdfFiles) { var pdf = PdfDocument.FromFile(file); pdfAppend.AppendPdf(pdf); } pdfAppend.SaveAs("LargePdf.pdf"); Console.WriteLine("PDFs Appended successfully!"); string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf"); var pdfAppend = new PdfDocument(200, 200); foreach (string file in pdfFiles) { var pdf = PdfDocument.FromFile(file); pdfAppend.AppendPdf(pdf); } pdfAppend.SaveAs("LargePdf.pdf"); Console.WriteLine("PDFs Appended successfully!"); Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf") Dim pdfAppend = New PdfDocument(200, 200) For Each file As String In pdfFiles Dim pdf = PdfDocument.FromFile(file) pdfAppend.AppendPdf(pdf) Next file pdfAppend.SaveAs("LargePdf.pdf") Console.WriteLine("PDFs Appended successfully!") $vbLabelText $csharpLabel 此方法特別適合創建綜合報告、歸檔多個文件或準備演示文稿。 通過自動化此過程,您可以輕鬆處理大量文件。 逐步實施 設置項目 代碼片段:初始化 IronPDF 並處理 PDF 文件 以下代碼演示了如何將 IronPDF 與 Directory.GetFiles 結合使用以加載和處理 PDF 文件。 using IronPdf; using System; using System.IO; class Program { static void Main() { // Retrieve all PDF file paths from the specified directory string[] pdfFiles = Directory.GetFiles("C:\\Users\\kyess\\Documents\\PDFs", "*.pdf"); // Initialize a PdfDocument var pdfAppend = new PdfDocument(200, 200); // Create a text annotation to add to each PDF TextAnnotation annotation = new TextAnnotation(0) { Contents = "Processed by IronPDF", X = 50, Y = 50, }; // Iterate over each file path, load, annotate, and save foreach (string file in pdfFiles) { var pdf = PdfDocument.FromFile(file); pdf.Annotations.Add(annotation); pdf.SaveAs(file); } } } using IronPdf; using System; using System.IO; class Program { static void Main() { // Retrieve all PDF file paths from the specified directory string[] pdfFiles = Directory.GetFiles("C:\\Users\\kyess\\Documents\\PDFs", "*.pdf"); // Initialize a PdfDocument var pdfAppend = new PdfDocument(200, 200); // Create a text annotation to add to each PDF TextAnnotation annotation = new TextAnnotation(0) { Contents = "Processed by IronPDF", X = 50, Y = 50, }; // Iterate over each file path, load, annotate, and save foreach (string file in pdfFiles) { var pdf = PdfDocument.FromFile(file); pdf.Annotations.Add(annotation); pdf.SaveAs(file); } } } Imports IronPdf Imports System Imports System.IO Friend Class Program Shared Sub Main() ' Retrieve all PDF file paths from the specified directory Dim pdfFiles() As String = Directory.GetFiles("C:\Users\kyess\Documents\PDFs", "*.pdf") ' Initialize a PdfDocument Dim pdfAppend = New PdfDocument(200, 200) ' Create a text annotation to add to each PDF Dim annotation As New TextAnnotation(0) With { .Contents = "Processed by IronPDF", .X = 50, .Y = 50 } ' Iterate over each file path, load, annotate, and save For Each file As String In pdfFiles Dim pdf = PdfDocument.FromFile(file) pdf.Annotations.Add(annotation) pdf.SaveAs(file) Next file End Sub End Class $vbLabelText $csharpLabel 控制台輸出 解釋 此代碼演示如何使用 IronPDF 在 C# 中為指定目錄中的所有 PDF 文件添加文本註釋。 程序首先使用 Directory.GetFiles 方法從提供的文件夾中檢索所有 PDF 文件路徑,該方法依賴於一個字符串路徑來指定目錄,並支持按文件擴展名進行過濾,返回包含所有擋有“.pdf”擴展名的字符串文件名陣列。 接下來,代碼初始化一個 PdfDocument 對象 (pdfAppend),尺寸為 200x200,儘管這個特定的例子沒有直接在迴圈中使用。 然後創建一個坐标 (50, 50) 的 TextAnnotation,內容為“由 IronPDF 處理”。 此註釋將被添加到每個 PDF 文件中。 在 foreach 循環中,程序遍歷 pdfFiles 陣列中的每個文件路徑。 對於每個文件,它使用 PdfDocument.FromFile(file) 加載 PDF,將先前創建的註釋添加到 PDF 的註釋集合中,然後使用 pdf.SaveAs(file) 將更新的 PDF 保存回其絕對路徑。 此過程確保指定目錄中的每個 PDF 都收到相同的註釋,並,以包括註釋的形式保存。 性能提示和最佳實踐 使用 Directory.GetFiles 優化文件檢索 對於大型目錄,使用異步方法,如 Directory.EnumerateFiles以獲得更好的性能。 高效管理大量文件 將文件分成較小批次進行處理,以減少記憶體消耗: foreach (var batch in pdfFiles.Batch(10)) { foreach (string file in batch) { var pdf = PdfDocument.FromFile(file); // Process PDF } } foreach (var batch in pdfFiles.Batch(10)) { foreach (string file in batch) { var pdf = PdfDocument.FromFile(file); // Process PDF } } For Each batch In pdfFiles.Batch(10) For Each file As String In batch Dim pdf = PdfDocument.FromFile(file) ' Process PDF Next file Next batch $vbLabelText $csharpLabel 處理文件和生成 PDF 的錯誤處理 將文件處理包裝在 try-catch 塊中以處理異常: try { var pdf = PdfDocument.FromFile(file); // Process PDF } catch (Exception ex) { Console.WriteLine($"Error processing {file}: {ex.Message}"); } try { var pdf = PdfDocument.FromFile(file); // Process PDF } catch (Exception ex) { Console.WriteLine($"Error processing {file}: {ex.Message}"); } Try Dim pdf = PdfDocument.FromFile(file) ' Process PDF Catch ex As Exception Console.WriteLine($"Error processing {file}: {ex.Message}") End Try $vbLabelText $csharpLabel 結論 將 Directory.GetFiles 的強大功能與 IronPDF 結合,允許開發人員高效地大規模管理和處理 PDF 文件。 採用這種方法,批量處理、合併、過濾和轉換 PDF 任務變得無縫,顯著降低了人工努力並提高了生產力。 通過利用 IronPDF 的高級功能,包括添加標題、元數據和樣式,開發人員可以創建高質量、專業的 PDF 文件,量身定制滿足其要求。 在本指南中,我們探討了如何使用 Directory.GetFiles 與 IronPDF 一起檢索和操作 PDF。 從設置項目到實施實際應用案例,我們涵蓋了可應用於現實世界場景的基本技術。 無論您是在自動化文件工作流程還是提高 .NET 應用程式的功能,此組合都提供了一個強大且可擴展的解決方案。 如果您準備深入探索 IronPDF 並探索高級功能,考慮參考 官方文檔,讓您可以在自己的專案中測試這個庫。 常見問題解答 C# 中的 Directory.GetFiles 方法如何運作? C# 中的 Directory.GetFiles 方法是 System.IO 命名空間的一部分,允許開發人員從指定的目錄中檢索文件路徑。它支持搜索模式和選項以包括子目錄,這使得訪問特定文件類型或名稱變得高效。 我如何使用 C# 來自動化 PDF 文件處理? 您可以使用 IronPDF 與 Directory.GetFiles 方法一起,在 C# 中自動化 PDF 文件處理。這讓您能夠在目錄中定位 PDF 文件並自動執行合併、添加註釋或生成報告等任務。 將 Directory.GetFiles 與 PDF 庫結合的好處是什麼? 將 Directory.GetFiles 與像 IronPDF 這樣的 PDF 庫結合使用可以自動化並有效管理 PDF 文件。您可以批量獲取和處理 PDF,進行修改和整合文件,提高生產力並減少手動工作。 如何使用 C# 將多個 PDF 附加到一個文件中? 要將多個 PDF 附加到一個文件中,請使用 Directory.GetFiles 检索目录中的所有 PDF 文件。然後,使用 IronPDF 加載每個 PDF,並將它們附加到單個 PdfDocument 对象中,進而保存為整合的 PDF 文件。 如何用 C# 根據創建日期篩選目錄文件? 您可以使用 LINQ 和 Directory.GetFiles 按創建日期篩選目錄文件。例如,要選擇在過去一週內創建的文件,使用:var recentFiles = pdfFiles.Where(file => File.GetCreationTime(file) > DateTime.Now.AddDays(-7)); 處理大量文件的最佳實踐是什麼? 為了處理大量文件,使用異步方法如 Directory.EnumerateFiles 以提高性能並減少檢索時間。在有效管理大目錄中特別有用。 如何在 C# 中處理 PDF 文件處理過程中的錯誤? 在 PDF 文件處理過程中通過將操作包裹在 try-catch 塊中來處理錯誤。這確保異常能夠被優雅地管理,使應用程序能夠繼續運行而不會因意外錯誤而崩潰。 C# 中 PDF 庫批量處理的一個例子是什麼? 批量處理的一個例子是使用 Directory.GetFiles 來檢索 PDF,然後使用 IronPDF 批量合併或註釋它們。這種方法自動化了重複的任務,節省了時間和精力。 如何使用 .NET 庫向 PDF 添加文本註釋? 要使用 IronPDF 向 PDF 添加文本註釋,需創建一個指定內容和位置的 TextAnnotation 對象。加載每個 PDF,把該註釋添加到其註釋集合中,並保存更新後的文檔。 如何在 Visual Studio 中通過 NuGet 安裝 PDF 庫的步驟是什麼? 要在 Visual Studio 中通過 NuGet 安裝 PDF 庫,打開您的項目,導航到工具 > NuGet 套件管理器 > 管理解決方案的 NuGet 套件,搜索 IronPDF,然後安裝它。或者,使用 NuGet 套件管理器控制台輸入命令:Install-Package IronPdf。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 相關文章 更新日期 9月 4, 2025 RandomNumberGenerator C# 使用RandomNumberGenerator C#類可以幫助將您的PDF生成和編輯項目提升至新水準 閱讀更多 更新日期 9月 4, 2025 C#字符串等於(它如何對開發者起作用) 當結合使用強大的PDF庫IronPDF時,開關模式匹配可以讓您構建更智能、更清晰的邏輯來進行文檔處理 閱讀更多 更新日期 8月 5, 2025 C#開關模式匹配(對開發者來說是如何工作的) 當結合使用強大的PDF庫IronPDF時,開關模式匹配可以讓您構建更智能、更清晰的邏輯來進行文檔處理 閱讀更多 C#將字符串轉換為泡泡(開發者工作方式)C# Out參數(工作方式:開...