【发布时间】:2013-04-30 19:51:27
【问题描述】:
我一直在努力尝试让以下(示例)批处理文件在 Windows XP SP3 上运行。 IF NOT EXIST 部分似乎有效,但尽管在XCOPY 上使用了/I 标志,但我仍然收到"Does <path\filename.ext> specify a file name or directory name on the target" 消息:
@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 上。
有什么想法吗?
【问题讨论】:
标签: if-statement batch-file windows-xp mkdir xcopy