2011-04-29 122 views
0

我有test.txt文件列表,其中包含d:\ source \ www \ default格式的文件路径列表.aspx; d:\ source \ common \ common.js我需要编写一个bat文件将这些文件复制到目标eg.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。如果有人能够解决这个问题,会不会很乐意。将路径为分号分隔的source.txt文件的文件复制到目标文件夹,保留其路径

回答

1

xcopy /I "%%f" "%~1\%%~pf"尝试:

  • xcopy会为你创建的目录结构(没有因为/I开关的提示);
  • %%~pf是要复制的文件的路径唯一部分(请参阅help for),附加到目标基本路径而没有任何外围引号%~1;
  • 目标路径组合包含在引号中。