Shell

需要來自批處理腳本目錄列表的相對路徑

  • November 23, 2009

我有一個簡單的批處理腳本,它遞歸地查看目錄中的所有文件和文件夾,並將文件清單寫入文本文件。它目前看起來像這樣:

dir /b/s > files.txt

/b方法不提供任何額外資訊,並/s使其在子文件夾中遞歸。範例輸出為:

C:\Users\mark\Desktop\site\site\Web
C:\Users\mark\Desktop\site\site\Web\Themes
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\images
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\style
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\images\site
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\images\site\beta.gif
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\style\site.css
C:\Users\mark\Desktop\site\site\Web\Themes\Sitev2\style\ie7.css

我想要兩件事:

  1. 僅列出此列表中的文件,而不列出文件和文件夾
  2. 我希望路徑與呼叫批處理腳本的位置相對

例如,我在C:\Users\mark\Desktop\site\site\文件夾中有腳本,所以我不想看到這一點。

是否可以做這兩件事,如果可以,任何人都可以幫忙嗎?

dir /b /s /a-d只會給你文件。我認為對於相對路徑,您需要做的不僅僅是一個簡單的批處理文件,例如呼叫一些 vbscript 來(1)獲取目前目錄,(2)打開文本文件,(3)進行搜尋並替換文本文件,並 (4) 保存結果。

您可以獲取unxutils套件,將 find.exe 放在您的起始目錄中,然後使用以下內容啟動它:

./find.exe . -type f > result.txt

只是我的2cts。

引用自:https://serverfault.com/questions/87375