noo, è semplice concettualmente.
1) crei un array di stringhe. In ogni elemento metti un percorso delle cartelle in cui si trovano i tuoi file asp che devono essere modificati.
Lo script prenderà una cartella alla volta e farà i dovuti replace di tutti i file contenuti all'interno.
2) una volta aperto un file, cerchi tutte le occorrenze di <!--#include file="...", estrapoli il percorso del file incluso (devi lavorare molto con instr e mid), lo metti in rapporto alla root e generi un'
altro percorso, quello virtuale. Sostituisci quindi l'include file con l'include virtual, usando il nuovo percorso appena generato.
2b) Questo qua sopra, una volta fatto, funziona con qualsiasi inclusione. Se tu invece già sai quali file sono inclusi in una pagina, basta fare un replace. E' un metodo molto più spicciativo. Esempio: tu sai che in tutte le pagine di questa cartella c'è la riga:
<!--#include file="../database/connection.inc"-->
allora fai un replace con la riga giusta:
<!--#include virtual="/database/connection.inc"-->
3) Fatti i replace, salvi il file.
ti conviene fare un file vbs anzichè una pagina asp, è un po' più "maneggevole" e il codice che scriveresti all'interno è pressochè identico.
Ti scrivo giusto poche righe di codice per iniziare:
sostituisci.vbs
Dim cartelle(1)
cartelle(0)="C:\inetpub\wwwroot\tuaapp\cartella1\"
cartelle(1)="C:\inetpub\wwwroot\tuaapp\cartella2\"
Dim fso, cartella, file, textfile, contenuto
set fso = Createobject("scripting.FilesystemObject")
for i = 0 to Ubound(cartelle)
set cartella = fso.GetFolder(cartelle(i))
for each file in cartella.Files
'qui faccio un ciclo su tutti i file della cartella
'e apro solo quelli .aspx
if Right(file.Name,4) = ".aspx" then
set textfile = fso.OpenTextFile(cartelle(i) & file.Name,1)
contenuto = textfile.ReadAll
textfile.Close
'qui fai i replace
contenuto = Replace(contenuto, "<!--#include file=""../database/connection.inc""-->", "<!--#include virtual=""/database/connection.inc""-->")
set textfile = fso.OpenTextFile(cartelle(i) & file.Name,1)
textfile.Write(contenuto)
textfile.Close
set textfile = nothing
end if
next
next
ciao