![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 08:09 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]这个关于xml文本的操作怎么用脚本实现 |
| 可打印版本 984 / 13 |
| 第1楼 lfzzj | 发表于 2008-07-24 16:12 |
| 初级用户 发帖 56 积分 159 | |
|
[求助]这个关于xml文本的操作怎么用脚本实现 我想对iis的配置文件进行操作,比如文本内某一些内容如下,这是2个站点test1.com test2.com,同属于一个进程池AppPool #10,我想用一个脚本将下面的2个站点重新分配下,使每一个站点对应一个进程池,比如使站点test1.com划为进程池test1.com #10;把站点test2.om划为进程池test2.com #10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~begin <IIsWebServer Location ="/LM/W3SVC/1692685952" AuthFlags="0" ServerAutoStart="TRUE" ServerBindings=":80:test1.com" ServerComment="test1.com" > </IIsWebServer> <IIsFilters Location ="/LM/W3SVC/1692685952/filters" > </IIsFilters> <IIsWebVirtualDir Location ="/LM/W3SVC/1692685952/root" AccessFlags="AccessRead" AppFriendlyName="默认应用程序" AppIsolated="2" AppPoolId="AppPool #10" AppRoot="/LM/W3SVC/1692685952/Root" > </IIsWebVirtualDir> <IIsWebServer Location ="/LM/W3SVC/1796746353" AuthFlags="0" ServerAutoStart="TRUE" ServerBindings=":80:test2.com" ServerComment="test2.com" > </IIsWebServer> <IIsFilters Location ="/LM/W3SVC/1796746353/filters" > </IIsFilters> <IIsWebVirtualDir Location ="/LM/W3SVC/1796746353/root" AccessFlags="AccessRead" AppFriendlyName="默认应用程序" AppIsolated="2" AppPoolId="AppPool #10" AppRoot="/LM/W3SVC/1796746353/Root" AuthFlags="AuthAnonymous | AuthNTLM" DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc" Path="E:\dbbackup" > </IIsWebVirtualDir> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~end 实现后的结果如下 <IIsWebServer Location ="/LM/W3SVC/1692685952" AuthFlags="0" ServerAutoStart="TRUE" ServerBindings=":80:test1.com" ServerComment="test1.com" > </IIsWebServer> <IIsFilters Location ="/LM/W3SVC/1692685952/filters" > </IIsFilters> <IIsWebVirtualDir Location ="/LM/W3SVC/1692685952/root" AccessFlags="AccessRead" AppFriendlyName="默认应用程序" AppIsolated="2" AppPoolId="test1.com #10" AppRoot="/LM/W3SVC/1692685952/Root" > </IIsWebVirtualDir> <IIsWebServer Location ="/LM/W3SVC/1796746353" AuthFlags="0" ServerAutoStart="TRUE" ServerBindings=":80:test2.com" ServerComment="test2.com" > </IIsWebServer> <IIsFilters Location ="/LM/W3SVC/1796746353/filters" > </IIsFilters> <IIsWebVirtualDir Location ="/LM/W3SVC/1796746353/root" AccessFlags="AccessRead" AppFriendlyName="默认应用程序" AppIsolated="2" AppPoolId="test2.com #10" AppRoot="/LM/W3SVC/1796746353/Root" AuthFlags="AuthAnonymous | AuthNTLM" DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc" Path="E:\dbbackup" > </IIsWebVirtualDir> [ Last edited by lfzzj on 2008-7-25 at 11:43 AM ] |
|
| 第2楼 lfzzj | 发表于 2008-07-24 16:55 |
| 初级用户 发帖 56 积分 159 | |
|
其实主要是我不知道怎么把同属AppPool #10的2个或者多个站点名都提出来,比如提出名称 test1.com和test2.com等。
然后还不知道怎么能替换AppPool #10为test1.com #10以及test2.com #10等 |
|
| 第3楼 bat-zw | 发表于 2008-07-24 18:25 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
如下:
[ Last edited by bat-zw on 2008-7-24 at 06:32 PM ] |
|
| 第4楼 lfzzj | 发表于 2008-07-24 19:20 |
| 初级用户 发帖 56 积分 159 | |
|
很感谢bat-zw。请你再看下
我之前提出的问题不够完整,现在我从新整理了一份: a.txt 文件 为我从实际文件中提取的一部分内容 b.txt文件 为我想实现的结果 a.txt内容如下: <?xml version ="1.0"?> <configuration xmlns="urn:microsoft-catalog:XML_Metabase_V64_0"> <MBProperty> <IIS_Global Location ="." BINSchemaTimeStamp="251a765c4d99c801" ChangeNumber="32763" HistoryMajorVersionNumber="287" SessionKey="49634b62980000004c00000040000000010200000168000000a40000562eac418683ad5dbacdcc0d5597e0a196c4f05c2179a088555682bd980277c5eb1d7c9f4549930d09dd3f466 a63942bc764e88a8ee577f36571d23de94d239effff4e005a3f7fc4d3657f011ae03ac72b2f03416fbe9bff88920d14a4bb87df4c69f1369c9408767988169fdc5a8ce267ee56b80dd96c8338ed52 cc326cd8e7dd7ec59c" XMLSchemaTimeStamp="7f7c785c4d99c801" > </IIS_Global> ~~~~~~~~~~~~~~~~~~站点test1.com~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <IIsWebServer Location ="/LM/W3SVC/1692685952" AuthFlags="0" ServerAutoStart="TRUE" ServerBindings=":80:test1.com" ServerComment="test1.com" > </IIsWebServer> <IIsFilters Location ="/LM/W3SVC/1692685952/filters" AdminACL="49634462f0000000a400000040000000c18618ef8781fc29d0feeb5cc6685376b01fc41fe08d8245f4f702bfbd9f7ae1f74429e9e507f6f5729ef4a3e634126cb486569210f10310c4c a0b701d02120f72f3a72e5339c7a367273ce8b4fdc590417c3457c795c314f6ff9669ad8de29f6957debdf4551e7f01a5a000972deea05104d5c284b1e47d057d04fd8de14c8e817460be132da8d7 674a6b10dd788033c8347c98faa64c9fdf844fa581210c615790dc15e48328f89b00f269c098ace7ccebaa144d961451ca649afa782301085ffc374c71c4205fa8f1420f673bf7ce4eae3a16758a7 f1db3ea1cc322266185ed75916cce3d9112" > </IIsFilters> <IIsWebVirtualDir Location ="/LM/W3SVC/1692685952/root" AccessFlags="AccessRead" AppFriendlyName="默认应用程序" AppIsolated="2" AppPoolId="AppPool #10" AppRoot="/LM/W3SVC/1692685952/Root" AuthFlags="AuthAnonymous | AuthNTLM" DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc" Path="F:\perl" UNCPassword="49634462500000000600000040000000c18618ef86813600e050d39feb134cf3024228de33bd68f2be421a4acacb679900d66487abbb6bf4023b221cb811d48ca890d75d9a5d26fa 271b0d2978ed22733177004f7d762e76" > </IIsWebVirtualDir> ~~~~~~~~~~~~~~~~~~站点test2.com~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <IIsWebServer Location ="/LM/W3SVC/1796746353" AuthFlags="0" ServerAutoStart="TRUE" ServerBindings=":80:test2.com" ServerComment="test2.com" > </IIsWebServer> <IIsFilters Location ="/LM/W3SVC/1796746353/filters" AdminACL="49634462f0000000a400000040000000c18618ef8781fc29d0feeb5cc6685376b01fc41fe08d8245f4f702bfbd9f7ae1f74429e9e507f6f5729ef4a3e634126cb486569210f10310c4c a0b701d02120f72f3a72e5339c7a367273ce8b4fdc590417c3457c795c314f6ff9669ad8de29f6957debdf4551e7f01a5a000972deea05104d5c284b1e47d057d04fd8de14c8e817460be132da8d7 674a6b10dd788033c8347c98faa64c9fdf844fa581210c615790dc15e48328f89b00f269c098ace7ccebaa144d961451ca649afa782301085ffc374c71c4205fa8f1420f673bf7ce4eae3a16758a7 f1db3ea1cc322266185ed75916cce3d9112" > </IIsFilters> <IIsWebVirtualDir Location ="/LM/W3SVC/1796746353/root" AccessFlags="AccessRead" AppFriendlyName="默认应用程序" AppIsolated="2" AppPoolId="AppPool #10" AppRoot="/LM/W3SVC/1796746353/Root" AuthFlags="AuthAnonymous | AuthNTLM" DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc" Path="E:\dbbackup" UNCPassword="49634462500000000600000040000000c18618ef86813600e050d39feb134cf3024228de33bd68f2be421a4acacb679900d66487abbb6bf4023b221cb811d48ca890d75d9a5d26fa 271b0d2978ed22733177004f7d762e76" > </IIsWebVirtualDir> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~进程池AppPool #10~~~~~~~~~~~~~~~~~ <IIsApplicationPool Location ="/LM/W3SVC/AppPools/AppPool #10" AppPoolAutoStart="TRUE" > </IIsApplicationPool> b.txt内容如下: <?xml version ="1.0"?> <configuration xmlns="urn:microsoft-catalog:XML_Metabase_V64_0"> <MBProperty> <IIS_Global Location ="." BINSchemaTimeStamp="251a765c4d99c801" ChangeNumber="32763" HistoryMajorVersionNumber="287" SessionKey="49634b62980000004c00000040000000010200000168000000a40000562eac418683ad5dbacdcc0d5597e0a196c4f05c2179a088555682bd980277c5eb1d7c9f4549930d09dd3f466 a63942bc764e88a8ee577f36571d23de94d239effff4e005a3f7fc4d3657f011ae03ac72b2f03416fbe9bff88920d14a4bb87df4c69f1369c9408767988169fdc5a8ce267ee56b80dd96c8338ed52 cc326cd8e7dd7ec59c" XMLSchemaTimeStamp="7f7c785c4d99c801" > </IIS_Global> <IIsWebServer Location ="/LM/W3SVC/1692685952" AuthFlags="0" ServerAutoStart="TRUE" ServerBindings=":80:test1.com" ServerComment="test1.com" > </IIsWebServer> <IIsFilters Location ="/LM/W3SVC/1692685952/filters" AdminACL="49634462f0000000a400000040000000c18618ef8781fc29d0feeb5cc6685376b01fc41fe08d8245f4f702bfbd9f7ae1f74429e9e507f6f5729ef4a3e634126cb486569210f10310c4c a0b701d02120f72f3a72e5339c7a367273ce8b4fdc590417c3457c795c314f6ff9669ad8de29f6957debdf4551e7f01a5a000972deea05104d5c284b1e47d057d04fd8de14c8e817460be132da8d7 674a6b10dd788033c8347c98faa64c9fdf844fa581210c615790dc15e48328f89b00f269c098ace7ccebaa144d961451ca649afa782301085ffc374c71c4205fa8f1420f673bf7ce4eae3a16758a7 f1db3ea1cc322266185ed75916cce3d9112" > </IIsFilters> <IIsWebVirtualDir Location ="/LM/W3SVC/1692685952/root" AccessFlags="AccessRead" AppFriendlyName="默认应用程序" AppIsolated="2" AppPoolId="test1.com #10" AppRoot="/LM/W3SVC/1692685952/Root" AuthFlags="AuthAnonymous | AuthNTLM" DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc" Path="F:\perl" UNCPassword="49634462500000000600000040000000c18618ef86813600e050d39feb134cf3024228de33bd68f2be421a4acacb679900d66487abbb6bf4023b221cb811d48ca890d75d9a5d26fa 271b0d2978ed22733177004f7d762e76" > </IIsWebVirtualDir> <IIsWebServer Location ="/LM/W3SVC/1796746353" AuthFlags="0" ServerAutoStart="TRUE" ServerBindings=":80:test2.com" ServerComment="test2.com" > </IIsWebServer> <IIsFilters Location ="/LM/W3SVC/1796746353/filters" AdminACL="49634462f0000000a400000040000000c18618ef8781fc29d0feeb5cc6685376b01fc41fe08d8245f4f702bfbd9f7ae1f74429e9e507f6f5729ef4a3e634126cb486569210f10310c4c a0b701d02120f72f3a72e5339c7a367273ce8b4fdc590417c3457c795c314f6ff9669ad8de29f6957debdf4551e7f01a5a000972deea05104d5c284b1e47d057d04fd8de14c8e817460be132da8d7 674a6b10dd788033c8347c98faa64c9fdf844fa581210c615790dc15e48328f89b00f269c098ace7ccebaa144d961451ca649afa782301085ffc374c71c4205fa8f1420f673bf7ce4eae3a16758a7 f1db3ea1cc322266185ed75916cce3d9112" > </IIsFilters> <IIsWebVirtualDir Location ="/LM/W3SVC/1796746353/root" AccessFlags="AccessRead" AppFriendlyName="默认应用程序" AppIsolated="2" AppPoolId="test1.com #10" AppRoot="/LM/W3SVC/1796746353/Root" AuthFlags="AuthAnonymous | AuthNTLM" DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc" Path="E:\dbbackup" UNCPassword="49634462500000000600000040000000c18618ef86813600e050d39feb134cf3024228de33bd68f2be421a4acacb679900d66487abbb6bf4023b221cb811d48ca890d75d9a5d26fa 271b0d2978ed22733177004f7d762e76" > </IIsWebVirtualDir> <IIsApplicationPool Location ="/LM/W3SVC/AppPools/test1.com #10" AppPoolAutoStart="TRUE" > </IIsApplicationPool> <IIsApplicationPool Location ="/LM/W3SVC/AppPools/test2.com #10" AppPoolAutoStart="TRUE" > </IIsApplicationPool> 上面的内容只是提取的一少部分,所以和实际运用会有点差别。a.txt中的2个站点有相同的特征都是同属AppPool #10。所以需要提取出来建对应的进程池 test1.com #10和test2.com #10,最后修改原来的AppPoolId中的 AppPool #10 为 test1.com #10和test2.com #10 |
|
| 第5楼 lfzzj | 发表于 2008-07-24 20:48 |
| 初级用户 发帖 56 积分 159 | |
|
麻烦各位帮忙解决下
|
|
| 第6楼 lxmxn | 发表于 2008-07-24 22:36 |
| 版主 发帖 4,938 积分 11,386 | |
| 第7楼 lfzzj | 发表于 2008-07-24 23:01 |
| 初级用户 发帖 56 积分 159 | |
|
请老大再多给点思路
|
|
| 第8楼 bat-zw | 发表于 2008-07-25 00:59 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
我给出的代码,楼主是不是修改下就能达到了啊。
|
|
| 第9楼 lfzzj | 发表于 2008-07-25 09:55 |
| 初级用户 发帖 56 积分 159 | |
|
我熟悉了下xmlStarlet,但始终无法完成对同属AppPool #10进程池的所有站点进行提取,比如提取出 test1.com和test2.com
|
|
| 第10楼 lfzzj | 发表于 2008-07-25 17:26 |
| 初级用户 发帖 56 积分 159 | |
|
没有高人解答我就只有用vbs试试了
|
|
| 第11楼 slore | 发表于 2008-07-25 18:45 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
vbs多好……这种操作就用VBS……快有准
|
|
| 第12楼 yishanju | 发表于 2008-07-25 23:41 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
iis 不是有几个相应的VBS,用来操作控制IIS的状态么、
比如添加站点之类的这种操作。 |
|
| 第13楼 suntb | 发表于 2008-07-26 09:52 |
| 高级用户 发帖 277 积分 581 | |
Originally posted by lxmxn at 2008-7-24 22:36: 版版有空写个xmlStarlet的中文教程吗? 最好给几个实例参考下 |
|
| 第14楼 yishanju | 发表于 2008-08-01 09:31 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
百度 xmlStarlet
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |