找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30569|回复: 9

[文本处理] 用批处理修改server.xml中的路径文件改为其他路径怎么写(红色部份)

[复制链接]
发表于 2019-5-17 12:45:34 | 显示全部楼层 |阅读模式
<?xml version='1.0' encoding='utf-8'?>
<Server port="8008" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  <GlobalNamingResources>
     <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <Service name="Catalina">
      <Connector port="8019" protocol="HTTP/1.1"
               connectionTimeout="20000"
                            maxKeepAliveRequests="20"
                           keepAliveTimeout="15000"
               redirectPort="8447"/>
       <Connector port="8007" protocol="AJP/1.3" redirectPort="8443" />


    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase=""
            unpackWARs="true" autoDeploy="true">

                <Context path="" docBase="D:\oademo\swoa2017_show_jzb\site"
                 reloadable="true" crossContext="true">
                         </Context>
      </Host>
    </Engine>
  </Service>
</Server>
发表于 2019-5-17 13:14:44 | 显示全部楼层
因为涉及文件编码问题,请把这个xml文件压缩一下传上来我试试
发表于 2019-5-17 14:10:18 | 显示全部楼层
  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. powershell -NoProfile -ExecutionPolicy bypass ^
  7.     $Utf8NoBomEncoding=New-Object System.Text.UTF8Encoding $False;^
  8.     dir^|?{($_ -is [System.IO.FileInfo]) -and ($_.Name -eq 'server.xml')}^|%%{^
  9.         write-host $_.FullName;^
  10.         $text=[IO.File]::ReadAllText($_.FullName, $Utf8NoBomEncoding);^
  11.         $text=$text -replace '(?^<=^<Context path=.+? docBase="")[^^""]*','E:\123\test';^
  12.         [IO.File]::WriteAllText($_.FullName, $text, $Utf8NoBomEncoding);^
  13.     };^
  14.     write-host '%info%' -ForegroundColor green;
  15. pause
复制代码
 楼主| 发表于 2019-5-17 14:23:19 | 显示全部楼层

TOMCAT中SERVER.XML 帮忙写个命令启动附件中

项目A
项目B
项目C
使用公共TOMCAT启动环境
如启运功 项目A,需手动改动TOMCAT 中server.xml 文件需配置
<Context path="" docBase="D:\oademo\swoa2017_show_jzb\site"
                 reloadable="true" crossContext="true">
</Context>
中的docBase="项目A所在目录"

同理若要启动项目B,则docBase="项目B所在目录"
项目C,则docBase="项目C所在目录"
配置文件见附件

请高手帮忙写个批处理命令,分别放在项目A,B,C中,实现用公共的TOMCAT,通过批处理改路径配置,启动不同项目
 楼主| 发表于 2019-5-17 14:24:10 | 显示全部楼层
项目A,项目B,项目C是三个位置不同的目录
发表于 2019-5-17 14:42:08 | 显示全部楼层
不建议每次都直接修改xml文件内容。建议准备3个不同的文件在需要的时候覆盖一下,例如:
server_A.xml
server_B.xml
server_C.xml

启动项目A.bat
  1. @echo off
  2. copy /y "server_A.xml" "server.xml"
  3. REM 启动命令写在下面
复制代码
启动项目B.bat
  1. @echo off
  2. copy /y "server_B.xml" "server.xml"
  3. REM 启动命令写在下面
复制代码
启动项目C.bat
  1. @echo off
  2. copy /y "server_C.xml" "server.xml"
  3. REM 启动命令写在下面
复制代码
 楼主| 发表于 2019-5-17 15:01:00 | 显示全部楼层
@echo off
set site=%cd%\site

set info=路径设置成功,你可以开启项目了。
rem 有问题,可加QQ956535081及时沟通
title %site%
cd /d "C:\tools\tomcat7.0.50\conf"
powershell -NoProfile -ExecutionPolicy bypass ^
    $Utf8NoBomEncoding=New-Object System.Text.UTF8Encoding $False;^
    dir^|?{($_ -is [System.IO.FileInfo]) -and ($_.Name -eq 'server.xml')}^|%%{^
        write-host $_.FullName;^
        $text=[IO.File]::ReadAllText($_.FullName, $Utf8NoBomEncoding);^
        $text=$text -replace '(?^<=^<Context path=.+? docBase=\"")[^^\""]*','%site%';^
        [IO.File]::WriteAllText($_.FullName, $text, $Utf8NoBomEncoding);^
    };^
    write-host '%info%' -ForegroundColor green;
pause
 楼主| 发表于 2019-5-17 15:02:34 | 显示全部楼层
回复 6# Batcher


    也是一个不错的办法
 楼主| 发表于 2019-5-17 15:05:24 | 显示全部楼层
谢谢Batcher和zaqmlp,这个网站太可怕了,回复的那么即时,不火都不行
发表于 2019-5-17 16:49:35 | 显示全部楼层
回复 9# xsenlin

赞助才是动力
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 04:30 , Processed in 0.031260 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表