1

我需要编写一个批处理脚本,将一个文件夹的文件复制到另一个文件夹。用户将在文件中提供源文件夹和目标文件夹。该文件可能是 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 脚本,因为我应该只在批处理脚本中使用。任何帮助都将不胜感激。

谢谢普拉

4

1 回答 1

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>
于 2012-09-09T07:48:44.530 回答