将目录复制到目标,如果它尚不存在

时间:2014-09-02 15:03:10

标签: batch-file dos

我正在尝试将目录 - C:/ user / som复制到C:/ admin /,如果使用批处理文件,C:/ admin /中没有dir'som'。 我的批处理文件是这样的 -

SET Location= C:\admin
IF NOT EXIST "%Location%\som" xcopy "C:/user/som" "C:/admin/som" /S /E

这不能正常工作,即使dirc:/ admin / som存在,它也会问我是否要覆盖目录中的文件。这里出了什么问题?

添加到此 - 当我正在进行xcopy时,它询问我“C:\ admin \ som”是文件还是目录,并要求我为文件选择F,为目录选择D,现在我想要这个要自动选择为D,可以这样做。

1 个答案:

答案 0 :(得分:2)

SET "Location=C:\admin"
IF NOT EXIST "%Location%\som\." xcopy "C:\user\som" "C:\admin\som" /S /E

这应该有用。

注意:可能不是要求,但更好的做法:

set" var = string"将var设置为string,省略该行上的任何尾随空格(如果存在)。包括尾随空格可能会导致混乱 - 而且很难发现它们。在您的代码中,前导空格 包含在已分配的值中。

请注意\是目录分隔符; /是一个开关。转换是零星的。