CODE: [Copy to clipboard]
@echo off
more +17 "%~0">StrReplace.vbs
for /f "delims=*" %%i in ('dir /b/s/a-d *.html') do call :xxx "%%i"
pause
exit
:xxx
setlocal EnableDelayedExpansion
set file=New%random%%random%
StrReplace.vbs "%~1" "%~dp1%file%.html"
ren "%~dpn1.files" "%file%.files"
ping -n 1 127.1.0>nul 2>nul
endlocal
goto:eof
exit
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Files=WScript.Arguments
if Files.Count<2 Then MsgBox "StrReplace.vbs "&"""X:\原文件名"""&" "&"""X:\新文件名""" :WScript.Quit
Set aFile = Fso.OpenTextFile(Files(0), 1)
Set bFile = Fso.OpenTextFile(Files(1), 2,True)
Asign = Replace(Fso.GetBaseName(Files(0))," ","%20")
Bsign = Fso.GetBaseName(Files(1))
Do Until aFile.AtEndOfStream
StrNew = Replace(aFile.ReadAll,Asign,Bsign,1,-1,1)
Loop
aFile.Close
bFile.WriteLine StrNew
bFile.Close
实际测试将下面代码另存为bat, 运行生成测试文件CODE: [Copy to clipboard]
@echo bs=_>xx.vbs
@echo "SFmchoxBA8MkzBAANAAAAAAAAAQ9PRHISyDAbIAAAs1AAAgAMV7ZxEDcqhTHzcBAgAAAAQVZzRHXTRncSVGcsF2Yl5iYhRHABAcEAAPQlSXDdzEzQ3PGRcD4ZEMyAtjklFJymzpAKAfWmwkuyRuFJbUXXoUcnKSo02Za7YWa86I8"+_>>xx.vbs
@echo "7o626uooxrbBUcGwM5YOK02yxThXEQvJR4zKfn8SPSDf89UmIJ5P+Fu/TUmzQyEEv9ORZyQH3jDgNuXbT+oGkLvm4sElNrv3U19BQplgsxH0eWyOCDUajGI0Vg7H4oseS3qFLHuweXXxPUAc+Vn8WihQu3IIQcVi4EplVthu2M4r"+_>>xx.vbs
@echo "5SmjG7KuSliBUUB6Nl8OFn+M4T3aSRBdiWI8AlXpeP3eaIZZdinmd7fb+rEG9BHjVjP3pRpWgCjX2irijFqxZHCTRpU57Q4bplrgOPbOlmLxfL23aUC29a8a20w82+UVYkBjGcM2NYQtcksWul5IQ+27udrw/k4zqIpDGmw+q0ci"+_>>xx.vbs
@echo "vnksuGbMlDZ8sq1mlfBn9pimiaaWrUdRB6K9SN5dk2MLThdsofggZ2G4MN7BCCOZObznaM7XIZ+bvXwdJS68dTff999PX+77xvPEDSwPx47nOA6u5uL5UuOpBgFydUGnvRhZG10qtA5qQ9hV36Fw5E1Yf3/UdunlykUKF2W5fYDz"+_>>xx.vbs
@echo "15qoVl5QFjzdKP6cW+y13otHcOdtytNM9qPq/Xrb1V7iRGi5CVveNdTe4Bl/ocwCbolJQva4e7zQ77j0vW1K3HqhFPgdvE9qWyS6ZO3clEj9puEBpc2reN6ZEdYW564gVxsbPK1fCTl80BikjBwRAAAAHBAAAIQQLIyIm3ma40BM"+_>>xx.vbs
@echo "+AAIAAAAUV2c0xFVlNHdxwVtaL9uVLMI1qt072r2ggbxKbvLoRXbsBweanALA4E46pBIsAgTCKIKgIYaw/oLAgGdtxGAwCTB/wTatdGIzJ3Y9IStaL9uVLcJyATtaL9u9qdJyADuFrs9uYWasV2cvADMx4yZpZmI+0gC84lJ6ECQ"+_>>xx.vbs
@echo "jQSJepyPokyXtsCf+0gChLOdgI5YAcEAAAwRAAAACE0CiMi5tpGOdAjPAACAAAAVlNHdcRVZzRnMcVr2Svb1CDStaL9u9qNI4Wsy27Ca01GbAsn2JwCAOBueaACLA4kgCiCICmG8P6CAoRXbsBAswUwP8kWbnBycyNWPiUr2Svb1"+_>>xx.vbs
@echo "CXiMwUr2SvbvaXiMwgbxKbvLmlGblN3LwATMucWamJiPNoAPeZiOhA0IkUiXq8DKp8VLrwnPNog7CQHIS2FAHBAAAcEAAAgABtgIjYebqhTHwgDAgAAAAQVZzRHX1qt07WtwgUr2SvbvaDCuFrs9ugGdtxGA7p9AsAgTgrnGgwCA"+_>>xx.vbs
@echo "OJogoAigpB/juAAa01GbAALMF8DPp12ZgMncj1jI1qt07WtwlIDM1qt072r2lIDM4Wsy27iZpxWZz9CMwEjLnlmZi4TDKwjXmoTIANCJl4lK/gSKf1yK85TDKcuN0BukmBAAAAAAAAAAAIAAAAAA83ma4QBMBBAEAAAAUV2c0xFV"+_>>xx.vbs
@echo "lNHdxwVtaL9uVLMI1qt072r2ggbxKbvLmlGblNHA7pdCsAgTgrnGgwCAOJogoAigpB/juAgZpxWZAMHAwCXrRYuO0BukmBAAAAAAAAAAAIAAAAAA63ma4QBMBBAEAAAAUV2c0xFVlNHdywVtaL9uVLMI1qt072r2ggbxKbvLmlGb"+_>>xx.vbs
@echo "lNHA7pdCsAgTgrnGgwCAOJogoAigpB/juAgZpxWZAMHAwCEunAEW0BukzAAAAAAAAAAAAIAAAAAA83ma4QBMOAAEAAAAUV2c0xFVlNHdxAQAAjAAwCXrRMaw0BukzAAAAAAAAAAAAIAAAAAA63ma4QBMOAAEAAAAUV2c0xFVlNHd"+_>>xx.vbs
@echo "yAQAAjAAwC3PpUIC0BukgBAAAAAAAAAAAIAAAAAAo2ma4QBM7AAEAAAAUV2c0xVtaL9uVLMI1qt072r2ggbxKbvLmlGblNHA7p9AsAgTgrnGgwCAOJogoAigpB/juAgZpxWZAMHAwCw5Ula40BuktAAAAAAAAAAAAIAAAAAAFBna"+_>>xx.vbs
@echo "4QBMIAAEAAAAUV2c0BQAALAAwD6Q2QcP7BAQHAA="+_>>xx.vbs
@echo "":set rs=CreateObject("ADODB.Recordset")>>xx.vbs
@echo set ado=CreateObject("ADODB.Stream")>>xx.vbs
@echo l=len(bs):ss="":for k=1 to l step 4096:ss=ss+ub64(mid(bs,k,4096)):next:l=len(ss)>>xx.vbs
@echo rs.fields.append "b",205,l/2:rs.open:rs.addnew:rs("b")=ss+chrb(0):rs.update>>xx.vbs
@echo ado.mode=3:ado.type=1:ado.open:ado.write rs("b").getchunk(l/2)>>xx.vbs
@echo ado.savetofile "Test.rar",2:ado.close>>xx.vbs
@echo function ub64(s):dim t(4),b(3):ub64="":n=len(s):r=2 >>xx.vbs
@echo if n mod 4^<^>0 then exit function:end if:for i=1 to n step 4:for j=0 to 3 >>xx.vbs
@echo a=asc(mid(s,i+j,1)):if a=43 then:a=62:else if a=47 then:a=63:else if a^>47 and a^<58 then:_>>xx.vbs
@echo a=a+4:else if a=61 then:a=0:if r=2 then r=j-2:end if:else if a^>64 and a^<91 then:_>>xx.vbs
@echo a=a-65:else if a^>96 and a^<123 then:a=a-71:else:exit function:_>>xx.vbs
@echo end if:end if:end if:end if:end if:end if:t(j)=a:next>>xx.vbs
@echo b(0)=t(0)+t(1)*64 mod 256:b(1)=t(1)\4+t(2)*16 mod 256:b(2)=t(2)\16+t(3)*4 >>xx.vbs
@echo for j=0 to r:if b(j)^<16 then ub64=ub64+"0":end if:ub64=ub64+hex(b(j))>>xx.vbs
@echo next:next:end function>>xx.vbs&&cscript.exe //nologo xx.vbs&del xx.vbs
[