批处理替换文本文件内容 求帮助
两个文件(可以用记事本打开)⒈文件名:nx1.lic文件内容:(没有横杠)-------------------------------------SERVERccc-x...
两个文件(可以用记事本打开)
⒈文件名:nx1.lic
文件内容:(没有横杠)
-------------------------------------
SERVER ccc-xxx-ddd ID=20080618 28000
VENDOR ugslmd
-------------------------------------
⒉文件名:nx2.lic
文件内容:
-------------------------------------
SERVER ccc-xxx-ddd ANY 27000
DAEMON uglmd
-------------------------------------
现在我需要做个批处理
在做一个批处理,输入 一串字符 来替换掉 两个文本中的 ccc-xxx-ddd
可以同时修改,也可以分先后修改2个文件,请问应该如何写批处理?
看了下FOR命令,貌似太复杂,短时间领悟不到,现在向大虾们赐教,1要求,批处理能用,如果解释下命令就更好了(当然你觉得没必要我只好自己去查找资料)
是这样的,我其实要设置一个变量 NAME 已经在批处理了,是用来设置计算机名,现在希望这个变量名NAME
能够替换掉 文件中的 字符串 ccc-xxx-ddd,我是希望 只输入一个字符串来达到一次修改 计算机名和文件文本的效果(其实还有环境变量里也要修改,这个是下一个要处理的问题,最后的效果就是 输入 NAME 的值一次修改 5个地方,分别是 计算机名 2个文本文件 2个环境变量)
@set /p name=请输您的计算机名:
reg add reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f >nul 2>nul 展开
⒈文件名:nx1.lic
文件内容:(没有横杠)
-------------------------------------
SERVER ccc-xxx-ddd ID=20080618 28000
VENDOR ugslmd
-------------------------------------
⒉文件名:nx2.lic
文件内容:
-------------------------------------
SERVER ccc-xxx-ddd ANY 27000
DAEMON uglmd
-------------------------------------
现在我需要做个批处理
在做一个批处理,输入 一串字符 来替换掉 两个文本中的 ccc-xxx-ddd
可以同时修改,也可以分先后修改2个文件,请问应该如何写批处理?
看了下FOR命令,貌似太复杂,短时间领悟不到,现在向大虾们赐教,1要求,批处理能用,如果解释下命令就更好了(当然你觉得没必要我只好自己去查找资料)
是这样的,我其实要设置一个变量 NAME 已经在批处理了,是用来设置计算机名,现在希望这个变量名NAME
能够替换掉 文件中的 字符串 ccc-xxx-ddd,我是希望 只输入一个字符串来达到一次修改 计算机名和文件文本的效果(其实还有环境变量里也要修改,这个是下一个要处理的问题,最后的效果就是 输入 NAME 的值一次修改 5个地方,分别是 计算机名 2个文本文件 2个环境变量)
@set /p name=请输您的计算机名:
reg add reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f >nul 2>nul 展开
2个回答
展开全部
1:替换文件请使用下面的批处理
@echo off
set name=computername_new
setlocal enabledelayedexpansion
for %%1 in (ugs*.lic) do for /f "tokens=*" %%i in (%%1) do (
set var=%%i
set "var=!var:CQDY-COMPUTER=%name%!"
echo !var!>>1%%1
)
for %%o in (ugs*.lic) do (
if exist %%o del /f %%o
if exist 1%%o ren 1%%o %%o
)
pause
::下面修改环境变量
echo Windows Registry Editor Version 5.00 >Environment.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]>>Environment.reg
echo "UGS_LICENSE_SERVER"="28000@%NAME%">>Environment.reg
echo "UGII_LICENSE_FILE"="28000@%NAME%">>Environment.reg
regedit /s Environment.reg
pause
@echo off
set name=computername_new
setlocal enabledelayedexpansion
for %%1 in (ugs*.lic) do for /f "tokens=*" %%i in (%%1) do (
set var=%%i
set "var=!var:CQDY-COMPUTER=%name%!"
echo !var!>>1%%1
)
for %%o in (ugs*.lic) do (
if exist %%o del /f %%o
if exist 1%%o ren 1%%o %%o
)
pause
::下面修改环境变量
echo Windows Registry Editor Version 5.00 >Environment.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]>>Environment.reg
echo "UGS_LICENSE_SERVER"="28000@%NAME%">>Environment.reg
echo "UGII_LICENSE_FILE"="28000@%NAME%">>Environment.reg
regedit /s Environment.reg
pause
展开全部
'以下内容保存成 a.vbs,运行就可以了 ---- VBS是windows下的脚本,可以说就是批处理
aaa=inputbox("请输入要将ccc-xxx-ddd替换成的字符")
times=inputbox("只替换nx1.lic输入1,只替换nx2.lic输入2,都替换输入3")
if times=1 then dealit("nx1.lic")
if times=2 then dealit("nx2.lic")
if times=3 then
dealit("nx1.lic")
dealit("nx2.lic")
end if
sub dealit(filename)
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile(filename)
s=file.readall
file.close
s=replace(s,"ccc-xxx-ddd",aaa)
set file=fso.createtextfile(filename)
file.write s
file.close
end sub
----------
那你就查一下用vbs修改注册表的方法,再自定义几个函数,就可以了
aaa=inputbox("请输入要将ccc-xxx-ddd替换成的字符")
times=inputbox("只替换nx1.lic输入1,只替换nx2.lic输入2,都替换输入3")
if times=1 then dealit("nx1.lic")
if times=2 then dealit("nx2.lic")
if times=3 then
dealit("nx1.lic")
dealit("nx2.lic")
end if
sub dealit(filename)
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile(filename)
s=file.readall
file.close
s=replace(s,"ccc-xxx-ddd",aaa)
set file=fso.createtextfile(filename)
file.write s
file.close
end sub
----------
那你就查一下用vbs修改注册表的方法,再自定义几个函数,就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询