バッチ ファイル内の文字列の値を検索して置換しようとしていますが、問題があります。ユーザーにバッチファイルを実行させると、ユーザーに1)ファイルがあるドライブ、2)TEST親フォルダー内のフォルダーの名前、3)新しいサーバーの名前を尋ねられます。バッチ ファイルで importer.config というファイル内を検索し、server_name という値をユーザーからの入力に置き換えます。ここに私が持っているものがあります:
@echo off
SET drive=
SET /P drive=Please enter the drive:
SET folder=
SET /P folder=Enter name of folder desired:
SET server=
SET /P server=Enter name of new server:
@echo off > newfile.txt
setLocal EnableDelayedExpansion
if exist newfile.txt del newfile.txt
for /f "tokens=* delims= " %%a in (%drive%\test\%folder%\importer.config) do (
set str=%%a
set str=!str:server_name=%server%!
echo !str! >> newfile.txt
)
del importer.config
rename newfile.txt importer.config
pause
これを実行するたびに、cmd プロンプトに次のように表示されます。問題は、ファイルが存在するため、不足しているものと、存在するファイルが見つからない理由を理解しようとしていることです。
また、「c:\windows\system32\importer.config が見つかりませんでした」と表示されますが、これも同様に発生する理由は不明です
私はstackoverflowで検索しましたが、これを理解することはできません。