2010-01-27 3 views
1

У меня есть папка, содержащая 1000+ xml-файлов. Мне нужно изменить эти xml-файлы, для которых я использую xslt.Итерация через папку с использованием пакетного скрипта

Теперь проблема, с которой я столкнулась, заключается в том, что я хочу использовать пакетный скрипт для рекурсивной рекурсии для всех xml-файлов в папке, вместо того, чтобы делать это вручную. Как это сделать, используя пакетный скрипт?

Было бы полезно, если бы кто-нибудь мог сказать мне, как я могу прочитать все xml-файлы, имеющиеся в папке, и скопировать их в другую папку с тем же именем.

+0

работает на окнах? –

+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-iterating-over-files-in-a-directory – Helen

ответ

0

Предполагая, что вы используете DOS партии ...

Простой copy операция будет работать:

prompt> copy *.xml destinationDir 

Для цикла и обработки файлов по отдельности, мы используем:

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

Transformation:

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

Копия:

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

ПРИМЕЧАНИЕ. Вам необходимо использовать '%% f' внутри пакетного файла. –

+0

+1 для использования 'for' без' dir' :-) – Joey

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

и к тому времени, вы понимаете, что произошло вы готовы для достижения своей цели.

Смежные вопросы