将路径在半冒号分隔的source.txt文件中的文件列表复制到目标文件夹,保留其源路径

时间:2011-04-29 04:03:28

标签: windows scripting command-line dos

我有test.txt中的文件列表,其中包含格式为d:\ source \ www \ default.aspx的文件路径列表; d:\ source \ common \ common.js我需要写一个bat文件来复制这些文件到目的地例如.F:\ destination \其路径也作为参数传递给bat文件。我有这个for /f %%l in (somefile.txt) do ( for %%f in (%%l) do ( copy "%%f" %1 ) )问题的以下脚本我需要将复制源文件夹的文件夹结构保存在目标文件夹中太。即上面的d:\ source \ www \ default.aspx需要复制到f:\ destination \ www \ default.aspx而不是f:\ destination。如果有人可以解决这个问题,请感激不尽。

1 个答案:

答案 0 :(得分:1)

请尝试使用xcopy /I "%%f" "%~1\%%~pf"

  • xcopy将为您创建目录结构(由于/I开关而没有提示);
  • %%~pf是要复制的文件的路径选择部分(请参阅help for),附加到目标基本路径,不附带任何引号%~1;
  • 目标路径组合用引号括起来。