2014-03-12 30 views
0

我有一個批處理文件,它將完整的文件目錄(包括最後的文件名)列出到csv文件上。我需要它來產生這個,但也只是在一個單獨的列中的文件名。我希望它的格式是第一列的文件名(包括擴展名)和第二列的完整文件目錄。批處理文件我目前擁有的是:使用批處理文件在csv上列出文件名和文件夾路徑

dir C:\Users\Administrator\Desktop\test\Files\*.tif /b /s >> 
C:\Users\Administrator\Desktop\test\Output.csv 

編輯:我忘了提,「文件」文件夾中包含很多子,所以我需要從所有這些子文件夾中處理所有文件。

在此先感謝。

回答

3

你只需要做到這一點:

@echo off 
setlocal 

set "in=C:\Users\Administrator\Desktop\test\Files\*.tif" 
set "out=C:\Users\Administrator\Desktop\test\Output.csv" 

if not exist "%out%" type nul>"%out%" 
for /f "delims=" %%a in ('dir /b/s %in%') do (
    >>%out% echo "%%~nxa","%%a" 
) 
+0

我試過,但它沒有工作,只是給了我一個空白的csv。還有什麼我需要做的嗎? – user3361017

+0

對不起,我遺留了我自己的測試路徑。我已經爲你修正了它。 –

+0

在echo命令行中:如果您只想將文件路徑作爲第二列,則''%% a「'可以是'」%%〜dpa「'。 – foxidrive

0

迭代和(關於%~'變量信息help for)寫:

@echo off 
cd C:\Users\Administrator\Desktop\test\Files 
for %%f in (*.tif) do echo "%%~nxf","%%~dpf" >> Output.csv 
+0

這將輸出他的csv到文件目錄。他想要測試。一個小的改變是需要的。 –

相關問題