バッチファイルを使用して、現在インストールされているドライブ文字を特定し、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ファイルを書き換えて、「ドライブ」という単語をドライブ文字D:、E :、またはF:に置き換える場合があります。
トークンとデリムを使用することを考えましたが、それをどのように実行するか正確にはわかりません。専門家のアドバイスはありますか?バッチファイルが必要なすべてをカバーするため、私はバッチメソッドのみを探しています(Windows XPまたは7、x86またはx64を検出し、最終的にこのiniファイルをOSの正しいフォルダーにコピーして実行)。
バッチファイルで、%CD:~0,2%
を使用してDrive
を置き換えます
CDは、Unixコマンドpwdに相当するDOSです。どちらのコマンドも現在のパスを出力します。ドライブ文字のみが必要なため、出力の最初の2文字のみを取得します。
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:
vim がインストールされている場合(完全に、コマンドラインモードで)
vim app.ini -c "%s/Drive/%cd:~0,2%/g|wq"
app.iniファイル内のWordDriveをドライブ(文字とコロン、例:c:
) 君も仲間だ