2016-05-02 92 views
1

我有一個文件夾結構:如何使用批處理文件讀取.MF文件的內容?

C:\LDS\some_folder/META_INF/MANIFEST.MF 

有在LDS不同的名稱(所以我必須提到它作爲some_folder)多的文件夾。在每個some_folder中,我有一個文件夾META_INF並且在其中有一個名爲MANIFEST.MF的文件。

每個MANIFEST.MF具有內容:

清單-版本:1.0

類路徑:神器版本:1.0.0

我需要顯示的文件夾名稱,最後在WINDOWS中使用批處理文件修改日期MANIFEST.MF和每個文件夾的工件版本號。

+0

'爲/ R 「C:\ LDS \ %% i的(META_INF \ MANIFEST.MF)DO @( Stephan

回答

0

我會從打開的命令行窗口開始使用dir /b /s C:\LDS\MANIFEST.MF。這應該列出C:\LDS及其子目錄下的所有MANIFEST.MF文件。然後

for /F "delims=" %G in ('dir /b /s C:\LDS\MANIFEST.MF') do @echo %G %~tG 

應該表現出相同的列表最後修改日期。然後

for /F "delims=" %G in ('dir /b /s C:\LDS\MANIFEST.MF') do @echo %G %~tG & type "%~fG" 

應該表現出以前的列表內容的每個文件。然後

for /F "delims=" %G in ('dir /b /s C:\LDS\MANIFEST.MF') do @echo %G %~tG & type "%~fG"|findstr /I "artifact-version" 

應該縮小到包含"artifact-version"串線前面的列表中的每個文件的內容。

這是我解決這類問題的方法。在分批腳本,如下在%G一倍%百分號:

@ECHO OFF 
SETLOCAL EnableExtensions 
for /F "delims=" %%G in ('dir /b /s C:\LDS\MANIFEST.MF') do (
    echo %%G %%~tG 
    type "%%~fG"|findstr /I "artifact-version" 
    rem here you could substitute previous `echo … & type …` commands 
    rem   with another code snippet to make output more `nice` 
) 

資源(必讀):

+0

非常感謝JosefZ。這真的很有幫助。我想知道,現在我正在獲得輸出中的完整路徑。但我需要輸出爲some_folder modified_date和工件版本,而不是完整路徑 –

+0

關於[命令行參數(參數)](http://ss64.com/)提取'echo %% G %%〜tG'行nt/syntax-args.html)鏈接。也許像'echo %%〜dpG %%〜tG'?請注意[Stephan的評論](http://stackoverflow.com/questions/36976184/how-to-read-content-of-a-mf-file-using-batch-file/36978710?noredirect = 1#comment61512961_36976184)。 – JosefZ

相關問題