我正在尝试使用批处理文件来确定当前安装的驱动器号,并用驱动器号替换 ini 文件中的关键字。
基本上,ini 文件包含:
[app]
dir=Drive\ApplicationPath
path=Drive\ApplicationPath\Messenger.exe
ver_number=12091
lang=1033
theme=default
ver=intl
[applist]
Cafe=Drive\ApplicationPath\ApplicationData
im=Drive\ApplicationPath1\ApplicationData
等等。
我试图将 bat 文件放入包含此 app.ini 文件的目录中,以检测当前驱动器。某些用户可能将此目录放在 D: 、 E: 、 F: 中,然后重写此 app.ini 文件,将单词“Drive”替换为驱动器号 D: 、 E: 或 F:
我曾考虑过使用 Tokens 和 Delims,但我不太清楚该如何解决。有什么专家建议吗?我只在寻找批处理方法,因为批处理文件可以满足我的所有需求(检测 Windows XP 或 7、x86 或 x64,并最终将此 ini 文件复制到操作系统上的正确文件夹中以运行)。
答案1
在您的批处理文件中,使用%CD:~0,2%
替换Drive
CD 是 Unix 命令 pwd 的 DOS 等效命令。这两个命令都输出当前路径。由于您只需要驱动器号,因此我们只想获取输出的前两个字母。
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\me>echo %CD%
C:\Users\me
C:\Users\me>echo %CD:~0,2%
C:
答案2
如果你有vim已安装(完整安装,带命令行模式)
vim app.ini -c "%s/Drive/%cd:~0,2%/g|wq"
它将取代驾驶在 app.ini 文件中,输入c:
您所在的驱动器(字母和冒号,例如)