0
したがって、基本的には、別のバッチファイルprofiledata.batから呼び出される複数の変数があるバッチファイルを作成しています。他のバッチファイル内の特定の変数を書き換える
ファイルが存在するかどうかをチェックします。そうでない場合は、新しいファイルを作成する必要があります。
if exist \user\profiledata.bat (
set Pdata_exist=true
goto askPdata
) else (
goto newPdata
)
:newPdata
if exist \user\NUL (
if Pdata_exist=true goto delPdata
cd \user
goto addPdata
) else (
mkdir \user
cd \user
goto addPdata
)
set var2=10
echo set var1=%var2%>profiledata.bat
set var2=20
echo set var1=%var2%>profiledata.bat
REM Var1 is rewritten because var 2 changed.
これで、コンピュータの情報がファイルに書き込まれます。しかし、あるものが後で変更された場合、その変数を書き換えるだけで、ファイルの残りの部分は書き換えないようにしたい。
たとえば、とともにecho
コマンドを実行すると、variable
だけでなくスクリプト全体が書き換えられます。私はそれをすることはできません。代わりに、ちょうどvariable
を書き直したいと思います。
私はあなたのコードに1つの 'ECHO'コマンドが表示されないので、何か助けが必要かわかりません。また、 'IF'コマンドを文字列の比較に使用する場合、2つの等号を使用する必要があります。' == ' – Squashman
@Squashmanはい申し訳ありませんが、コードをすばやく書いていて、間違いを認識しませんでした。ありがとうございました。バッチファイルのデータを上書きせずにエコーコマンドを使用できないことがわかったため、エコーコマンドが削除されました。私はすぐにそれらを追加します。 – OhNoItIsAnotherAccount
profiledata.batをどのようなものにするかの例を挙げてください。私はあなたの問題の記述を理解していません。 – Squashman