0

以下 Windows 7 批处理文件脚本返回错误:

@ECHO OFF

if exist C:\Program Files (x86)\ E1\P45V goto WIN7

ren /s /c "c:\Program Files\ E1\P45V\P45Login.bmp" "c:\Program Files\E1\P45V\P45Login_OLD.bmp"
copy "\\locattion14\temp\E1\P45Login.bmp" "c:\Program Files\ E1\P45V\P45Login.bmp"

goto END

:WIN7

ren /s /c "c:\Program Files (x86)\ E1\P45V\P45Login.bmp" "c:\Program Files (x86)\E1\P45V\P45Login_OLD.bmp"
copy "\\locattion14\temp\E1\P45Login.bmp" "c:\Program Files (x86)\ E1\P45V\P45Login.bmp"

:END

命令的语法不正确

使用 PSTOOL 将更改推送到计算机,并在更正语法错误时添加列表。

期望的结果:

如果 pc 是 XP 机器,将 P45login.bmp 文件重命名为相同的 name_OLD.bmp,然后将文件从位置 14 复制到指定的目录中。

如果 PC 是 Win 7 机器,请跳过第一部分,转到第二部分,然后提交相同的更改。

关闭会话。

我已经移动了引号,添加/减去了开关,但遇到了同样的错误。

当然,这只是我没有理解的简单语法特殊性。

希望有人能看看,看到我失踪的明显,并指出我正确的方向,。

感谢您提供任何帮助或建议。

4

1 回答 1

3

你的ren语法是错误的。ren不支持任何开关,并且rename_to需要只是名称,而不是完整路径。在此处查看完整详细信息:http ://technet.microsoft.com/en-us/library/cc754276%28v=ws.10%29.aspx

另外:
-if exists需要在路径周围加上引号
- 您同时使用\ E1\\E1\(带或不带空格)。虽然两者都可能有效,但我会仔细检查这是否不是错误。
- 如果上面的路径实际上不同,您需要使用move(with full paths) 而不是ren.

于 2012-10-26T22:03:38.620 回答