请原谅。我是一个完整的菜鸟。
我有1个ini文件,只有1个IP地址和版本号。格式为:
xxx.xxx.xxx.xxx
abcde
我需要容纳3个总IP。 我正在寻找一个批处理脚本,它会询问用户他们想要连接的位置(每个位置都对应一个IP地址)。
例如:NY = 10.0.0.0 DC = 20.0.0.0 LA = 30.0.0.0
批次会说“你想在哪里连接?1 = NY,2 = DC,3 = LA” 当用户为“NY”选择1时,脚本将搜索.ini文件(始终位于相同位置c:\ sample)并将IP更改为正确的文件(10.0.0.0)。 它的输出会有“你现在已经连接到纽约了!”
当用户选择“DC”时,脚本将搜索.ini文件并将其更改为20.0.0.0等。我能够做一个简单的查找/替换脚本,但只有2个IP,我有为每个位置制作一个相当不方便的地方。
非常感谢任何帮助或指导!
答案 0 :(得分:1)
这个例子将:
代码:
@Echo Off
:Begin
If Exist c:\sample\x.tmp Del c:\sample\x.tmp
Set /P "var=Choose location (NY, DC, LA):"
If /I "%var%"=="NY" Call :ReplaceIP 10.0.0.0
If /I "%var%"=="DC" Call :ReplaceIP 20.0.0.0
If /I "%var%"=="LA" Call :ReplaceIP 30.0.0.0
If Exist c:\sample\x.tmp (
Move /Y c:\sample\x.tmp c:\sample\x.ini 1>Nul
Echo Success!
) Else (
Echo Invalid option!
)
Pause
GoTo :Begin
:ReplaceIP
For /F "Tokens=1,2,3,4 Delims=." %%i In (c:\sample\x.ini) do If %%j.==. (
Echo %%i >> c:\sample\x.tmp
) Else (
Echo %1 >> c:\sample\x.tmp
)
GoTo :EOF
答案 1 :(得分:0)
这应该会帮助你。
@echo off
set "var="
set /p "var=Enter 1 for NY, 2 for DC or 3 for LA"
if "%var%" EQU 1 (
>c:\sample\file.ini echo 10.0.0.0
>>c:\sample\file.ini abcde
)
if "%var%" EQU 2 (
>c:\sample\file.ini echo 20.0.0.0
>>c:\sample\file.ini abcde
)
if "%var%" EQU 3 (
>c:\sample\file.ini echo 30.0.0.0
>>c:\sample\file.ini abcde
)
echo Good luck - I hope you entered the right number! :)