Originally posted by lxmxn at 2007-5-23 01:18 PM:
@echo off
sed -n "/Filename=/p;/ServerFolder/p" urfile.xml|sed "N;s,^*ServerFolder=\(.*\)\n*Filename=\(.*\),copy /y \2 \1,g"|sed "s,/,\\,2g"|more>n ...
这个实在高深。。没看懂。。
试运行后,界面一闪而过。。
可能我的主题还不是讲的很清楚。在这说一下更详细的。。
一、从电脑中复制文件u0607g.xml。里面包含所有*0607g.xml文件的信息。如下:
<UpdateFiles
UpdateDate="21052007 0215">
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/av/avc/i386"
Filename="av-i386-0607g.xml"
FileDate="21052007 0057" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/as/kis"
Filename="as-0607g.xml"
FileDate="21052007 0202" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/ids/i386"
Filename="ah-i386-0607g.xml"
FileDate="18052007 1408" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/ids/x64"
Filename="ah-x64-0607g.xml"
FileDate="18052007 1418" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/ids/i386-x64"
Filename="ah-i386-x64-0607g.xml"
FileDate="18052007 1427" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/aspy"
Filename="aspy-0607g.xml"
FileDate="10052007 1553" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/blst"
Filename="blst-0607g.xml"
FileDate="16052007 1210"
MD5="yXVPXuP1jjOFyuoWtE04UA==" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/av/klava/webav"
Filename="wm-0607g.xml"
FileDate="09032007 0721" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/pdm"
Filename="pdm-0607g.xml"
FileDate="18052007 1432" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/upd"
Filename="upd-0607g.xml"
FileDate="10042007 1431" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/info"
Filename="info-0607g.xml"
FileDate="10052007 1333" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/pcdb"
Filename="pcdb-0607g.xml"
FileDate="11052007 1547" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/av/klava/emu/i386"
Filename="emu-i386-0607g.xml"
FileDate="16052007 1706" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/av/klava/wa/i386"
Filename="wa-i386-0607g.xml"
FileDate="10052007 0755" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav6"
Filename="kav6-0607g.xml"
FileDate="20022007 1213" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav_aol"
Filename="kav_aol-0607g.xml"
FileDate="02042007 1140" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav_dt"
Filename="kav_dt-0607g.xml"
FileDate="27022007 1109" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav_jp"
Filename="kav_jp-0607g.xml"
FileDate="16042007 1153" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav_kpss"
Filename="kav_kpss-0607g.xml"
FileDate="26042007 0817" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav_mais"
Filename="kav_mais-0607g.xml"
FileDate="12032007 1024" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav_pcss"
Filename="kav_pcss-0607g.xml"
FileDate="13042007 1411" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav_rss"
Filename="kav_rss-0607g.xml"
FileDate="26042007 1117" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav_stg"
Filename="kav_stg-0607g.xml"
FileDate="12032007 0939" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../AutoPatches/kav_xss"
Filename="kav_xss-0607g.xml"
FileDate="12032007 0939" />
<FileDescription
Comp
UpdateType="desc"
ServerFolder="../../bases/rt"
Filename="rt-0607g.xml"
FileDate="07022007 1106" />
<Registry
Comp
UpdateType="KLKEY"
LocalPath="%DSKM%"
从电脑中复制上面所有的Filename文件,并保存在每个文件所对应的ServerFolder路径中。在这里,将
路径统一为这种形式:
AVP——index/6
│
├─bases——/av/avc/i386
│ │-/as/kis
│ │-/ids/i386
│ │-/ids/x64
│ │-/ids/i386-x64
│ │-/aspy
│ │-/blst
│ │-/av/klava/webav
│ │-/pdm
│ │-/upd
│ │-/info
│ │-/pcdb
│ │-/av/klava/emu/i386
│ │-/av/klava/wa/i386
│ │-/rt
│
└─AutoPatches——/kav6
│-/kav_aol
│-/kav_dt
│-/kav_jp
│-/kav_kpss
│-/kav_mais
│-/kav_pcss
│-/kav_rss
│-/kav_stg
│-/kav_xss
二、读取刚才所保存的每个xml文件,根据里面的内容(主要是文件),从电脑中复制所有文件到当前目录中。比如说:
upd-0607g.xml这个文件,它就存放在路径AVP/bases/upd子文件夹里面,读取它的内容为:
<UpdateFiles
UpdateDate="10042007 1431">
<FileDescription
Comp
UpdateType="base"
LocalPath="%DataFolder%"
Filename="updcfg.xml"
FileSize="20586" />
<Registry
Comp
UpdateType="REGISTRY"
LocalPath="%DSKM%",
然后,将updcfg.xml这个文件从电脑中也复制到当前目录下,即AVP/bases/upd里面。
Last edited by nbic on 2007-5-23 at 01:47 PM ]