简单的 .BAT 文件重命名问题

Simple .BAT file rename issue

好的,这是我的问题。

我有一个程序 (program1),当 运行 查找一个 INI 文件,其中存储了有关用户的信息 (userinfo.ini)。该程序不支持多用户,所以我的想法是有两个 INI 文件,一个用于 user1,另一个用于 user2。然而,INI 文件名 必须 保持命名为 userinfo.iniprogram1 将无法识别它的存在。

所以这是我的计划,

我在程序的根文件夹中有两个 INI 文件。一个名为 userinfo.ini.USER1,另一个名为 userinfo.ini.USER2.

单击 user1 的 BAT 文件时,我希望它检查 userinfo.ini.USER1 是否存在,如果存在,则将 userinfo.ini 重命名为 userinfo.ini.USER2,然后将 userinfo.ini.USER1 重命名为 userinfo.ini。如果 userinfo.ini.USER1 不存在,它将不执行任何操作。

user2 的 BAT 文件基本上做同样的事情,只是翻转。

完成后,BAT文件将执行program1

这是我为此编写的代码:

IF EXIST userinfo.ini.USER1
ren userinfo.ini userinfo.ini.USER2
ren userinfo.ini.USER1 userinfo.ini

START program1.exe

然而,当运行时,CMD告诉我The syntax of the command is incorrect.

我如何将此编码错误,应该如何编码才能实现我的目标?

感谢您事先提供的所有帮助,非常感谢。

if exist file 没有任何意义,所以你得到一个语法错误。它后面需要一个命令语句 (if exist file echo yes)。您可以使用 ():

作为语句执行多个命令
IF EXIST userinfo.ini.USER1 (
  ren userinfo.ini userinfo.ini.USER2
  ren userinfo.ini.USER1 userinfo.ini
)
START program1.exe

请确保第一个 ( 与您的 if

在同一行

还有另一个选择:与其重命名任何内容,不如直接复制它们?

User1.bat:

copy userinfo.ini.USER1 userinfo.ini
START program1.exe

User2.bat:

copy userinfo.ini.USER2 userinfo.ini
START program1.exe