2010-01-27 99 views
1

我有一個包含1000多個xml文件的文件夾。我需要修改這些xml文件,爲此我使用xslt。使用批處理腳本遍歷文件夾

現在我面臨的問題是我想使用批處理腳本對文件夾中的所有xml文件遞歸地執行此修改,而不是手動執行此操作。我怎樣才能使用批處理腳本?

如果有人能告訴我如何讀取文件夾中存在的所有xml文件並將它們複製到具有相同名稱的另一個文件夾中,這將會有所幫助。

+0

在windows上運行? – 2010-01-27 09:45:43

+0

請參閱http://stackoverflow.com/questions/180741/how-to-do-something-to-each-file-in-a-directory-with-a-batch-script和http://stackoverflow.com/ questions/138497/batch-scripting-ite-over-files-in-a-directory – Helen 2010-01-27 10:06:20

回答

0

假設你使用的是DOS的批處理......

簡單copy操作將工作:

prompt> copy *.xml destinationDir 

要循環和處理單獨的文件,我們使用:

for %%R in (*) do (
    ... 
) 
6

轉型:

for /r c:\your_root_folder\ %f in (*.xml) do your_transform_command %f 

複製:

copy *.xml c:\your_target_folder\. 
+2

注意:您需要在批處理文件中使用'%% f'。 – 2010-01-27 12:18:42

+0

爲不使用'dir'而使用'for' +1 :-) – Joey 2010-01-28 07:31:57

0

閱讀本

HELP XCOPY

HELP FOR

,並嘗試這個

XCOPY \source\*.xml \destination /S

,並嘗試這個

FOR %a IN (\source\*.xml) DO echo %a

現在讀

HELP CALL

和閱讀

HELP SET

,並嘗試這個

FOR %a in (\source\*.xml) DO CALL youraction %~na

,並通過你明白髮生了什麼的時候,你就可以實現你的目標。