我一直在努力尝试让下面的(示例)批处理文件在 Windows XP SP3 上运行。该IF NOT EXIST
部分似乎有效,但"Does <path\filename.ext> specify a file name or directory name on the target"
尽管使用了以下/I
标志,我仍然收到消息XCOPY
:
@IF NOT EXIST "\\SERVER\PATH\TO\FILE DIR" (
MKDIR "\\SERVER\PATH\TO\FILE DIR"
XCOPY "\\SERVER\PATH\TO\ORIG FILE\FILE TEMP.XLSM" "\\SERVER\PATH\TO\FILE DIR\FILE FINAL.XLSM" /I
) ELSE (
XCOPY "\\SERVER\PATH\TO\ORIG FILE\FILE TEMP.XLSM" "\\SERVER\PATH\TO\FILE DIR\FILE FINAL.XLSM" /I
)
我的理解是,使用/I
开关,XCOPY
如果它不存在,则应该创建目录结构 - 至少在我没有指定文件名时它会这样做。不幸的是,对于这个项目的要求,我必须指定一个文件名并且不能保留原始文件,因为它是一个模板文件,每天都会通过自动化流程进行操作。
因此,我尝试XCOPY
通过检查路径是否存在来解决目录路径不存在的问题,如果它不存在,则使用MKDIR
命令创建它然后复制文件 - 但XCOPY
仍然提示目的地是否是一个文件或目录,这没有意义,但也许我错过了一些东西。
需要明确的是,这是在 Windows XP SP3 上。
有任何想法吗?