创建批处理脚本,从源文件中读取多个输入参数

时间:2012-09-09 06:50:14

标签: windows batch-file

我需要编写一个批处理脚本,将一个文件夹的文件复制到其他文件夹。用户将在文件中提供源文件夹和目标文件夹。此文件可能是xml或cinfig或文本文件。该文件有多个值。

例如,文本文件可能有

<key="1" source="D:\test\" destination="E:\folderfile\"/>
<key="2" source="E:\test\" destination="F:\folderfile\"/>
<key="3" source="C:\test\" destination="D:\folderfile\"/>
<key="4" source="D:\test\" destination="E:\folderfile\"/>
<key="5" source="D:\test\" destination="E:\folderfile\"/>

运行批处理文件时,它会要求用户输入键值。假设用户提供了2,4,5个值,批处理脚本应该获得源代码和资源。密钥2的目的地从文件和复制文件等,它也应该执行4和5键。

请不要建议使用power-shell脚本或vb脚本,因为我应该只在批处理脚本中执行。 任何帮助都可以得到赞赏。

感谢
普利文

1 个答案:

答案 0 :(得分:0)

如果您要将文件格式化为简单命令:

copy d:\test\ e:\folderfile\
copy e:\test\ f:\folderfile\
...

您可以使用以下批处理文件:

setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('findstr /n . %1^|find "%2:"') do (
set searchtext = "%2:"
set linetext=%%a
set commandToCall=!linetext:%2:=!
)
call %commandToCall%

使用:

mybatchfile.bat input.txt <linenumber>