我正在尝试在批处理文件中查找和替换字符串的值但遇到问题。我让用户运行批处理文件,它询问用户 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:\test\users_input_they_entered\importer.config。问题是该文件在那里,因此试图了解我缺少什么以及为什么找不到确实存在的文件。
然后它还指出“找不到 c:\windows\system32\importer.config”,这也不确定为什么会发生这种情况
我在stackoverflow上进行了搜索,但在任何帮助下都无法弄清楚。