Windows Simple.BAT文件重命名问题

Windows Simple.BAT文件重命名问题,windows,batch-file,cmd,rename,Windows,Batch File,Cmd,Rename,好吧,这是我的问题 我有一个程序(program1),当运行该程序时,它会查找一个INI文件,其中存储有关于用户的信息(userinfo.INI)。该程序不支持多个用户,因此我的想法是有两个INI文件,一个用于user1,另一个用于user2。但是,INI文件名必须保持命名为userinfo。INI或program1无法识别它的存在 这就是我的计划 我在程序的根文件夹中有两个INI文件。一个名为userinfo.ini.USER1,另一个名为userinfo.ini.USER2 单击user1的

好吧,这是我的问题

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

这就是我的计划

我在程序的根文件夹中有两个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告诉我命令的语法不正确。

我如何对其进行错误编码,以及如何对其进行编码以实现我的目标


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

如果存在文件
没有任何意义,则会出现语法错误。之后需要一条命令语句(
如果存在文件echo yes
)。您可以使用
以语句的形式执行多个命令:


请确保第一个
与您的
if

位于同一行。这里有另一个选项:与其重命名任何内容,为什么不直接复制它们

User1.bat:

copy userinfo.ini.USER1 userinfo.ini
START program1.exe
User2.bat:

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

这就解决了!谢谢你的帮助。出于好奇,你说我需要一个echo语句,但在你提供的代码中,没有echo。这是什么意思?你不需要
echo
,只需要一个命令语句。
echo
只是一个例子。这也是我的第一个想法。但是,如果
program1.exe
对ini文件进行更改(如写入“上次登录日期”)?您可以添加/等待开始行,以便批处理文件等待program1结束,然后通过向每一行添加另一行来执行相反的操作:copy userinfo.ini userinfo.ini.USER?我提供了它,因为询问者没有提到ini文件的任何更改,但这是一个好问题。
copy userinfo.ini.USER2 userinfo.ini
START program1.exe