2013-07-26 155 views
1

你好新手尋求一些幫助。我正在嘗試編寫一個腳本來搜索驅動器中具有特定標識符的所有文件和文件夾。例如,「ID - 」批處理腳本解析Dir命令

我用的是以下獲得在日誌文件中列出的文件和目錄:

dir ID * /A:-D-H /B /S >> C:\FileCatalogue.log 2>> C:\FileCatalogue.log 
dir ID * /A:D-H /T:C /S >> C:\DirCatalogue.log 2>> C:\DirCatalogue.log 

不過,我想輸出將在3標籤欄:

FILE {標籤} DIR {標籤} ID

ID123 - YYYY - myfile.txt的{標籤} C:/ TMP/TMP {標籤} ID123 - YYYY

等。

etc ...

任何幫助將不勝感激! 維克多

回答

1

試試這個:

for /f "tokens=1*delims=-" %%a in ('dir /a-d/b ID*') do echo %%a-%%b %cd% %%a 
+0

你忘了'/ s',並在年底的YYYY - (當然,在'YYYY'很容易與'tokens = 1,2 *') – Stephan

+0

@Stephan我什麼也沒有得到:)請問'/ s'是什麼? – Endoro

+0

在你的答案是'dir/a-d/b ID *',user2623499請求了'dir/a:-D-H/B/S'。/s代表「包括子dirs」 - 但我非常確定,你知道;) – Stephan

1
@echo off 
for /f "delims=" %%A in ('dir /a:-d-h /b /s /t:c ID123*') do for /f "tokens=1,2,* delims=-" %%B in ("%%~nxA") do echo(%%~nxA %%~dpA %%B-%%C 

輸出

ID123 - YYYY - myfile.txt C:\Users\User\Desktop\ ID123 - YYYY