2013-01-22 62 views
0

如何將特定文件夾中的所有.txt文件作爲輸入到我的批處理腳本中,而不必單獨硬編碼它們的名稱?通過批處理腳本執行一個文件夾中的所有文本文件

總之:我想要的批處理腳本來處理它駐留在目錄中的所有.txt文件

當前代碼:

for /f "tokens=4 delims=|" %%a in (filename1.txt) do (...) 

...其內容只有一個。

我嘗試下面的方法不工作:

for /f "tokens=4 delims=|" %%a in ('dir /b C:\BatchScripting') do (..) 

和:

for /f "tokens=4 delims=|" %%a in (*.txt) do (...) 

這也太:

for /f "tokens=4 delims=|" %%a in (%%~dpnx) do (...) 

,但無濟於事。幫幫我!

回答

1

我覺得你是這個

for %%x in (*.txt) do (
for /f "tokens=4 delims=|" %%a in (%%x) do (...) 
) 
+0

是的!有用!哦,終於。再次感謝你,巴厘島! :) – Shalapolia

+0

沒問題,很高興它的作品:) –

0

如果您對自己想要達到的目標稍微有點特別,這將會更容易回答。根據我對你的問題的解釋,這是一個可能的解決方案;使用FOR在命令行上循環如下所示

FOR %A IN *.txt DO CALL <batch_script> [parameters] 

上面的語句的一般形式是

FOR %A IN (list) DO command [ parameters ] 

其中(列表)是在其上要執行的一組項目和操作如圖所示, 命令是任何內部/外部命令或批處理腳本。

+0

感謝迪內希後。基本上,我的問題是,目前輸入的代碼是: 'FOR%A IN * .txt DO CALL [parameters]' 只調用一個文件。我需要它從放置批處理腳本的文件夾調用.txt文件。 用*替換文件名不起作用。 – Shalapolia

+0

@Shalapolia:你的問題聽起來很普遍,我認爲這個答案完全有效。不過,我確實意識到它可能不適用於你的情況。因此,請編輯您的問題,通過調用* all * .txt文件提供有關您的批處理腳本正在執行的操作以及您的意思的更多詳細信息。 –

+0

我的歉意!批處理腳本非常新穎。我編輯了這個問題。希望更詳細。 – Shalapolia

相關問題