|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 498
|
Modificare uno script ASP per cambiare stringhe di testo in cartelle
Buongiorno a tutti,
ho elaborato il seguente script ASP per cambiare una stringa di testo in tutti i file con una determinata estensione che stanno in una cartella: <% 'nome autore, data ' 'SCOPO DELLO SCRIPT: sostituisce una stringa di testo "TESTO_DA_SOSTITUIRE" 'con una stringa di testo "NUOVO_TESTO" in tutti i file con estensione '"ESTENSIONE_FILE" presenti nella cartella "PERCORSO_CARTELLA" ' 'Testato su Windows XP Pro SP2/IIS 5.0 e Windows 2000 Pro SP4/IIS 5.1 ' 'PARAMETRI: '- PERCORSO_CARTELLA: percorso della cartella in cui si trovano ' i file da sostituire. Può essere un percorso locale ' o di rete '- ESTENSIONE_FILE: estensione dei file in cui effettuare la sostituzione ' Deve essere nella forma ".xxx" '- TESTO_DA_SOSTITUIRE: testo che si vuole sostituire '- NUOVO_TESTO: nuovo testo che sostituisce TESTO_DA_SOSTITUIRE ' 'LIMITAZIONI DELLO SCRIPT: '- non effettua il cambiamento delle stringhe di testo ricorsivo, ' ovvero nelle sottocartelle della cartella indicata '- i parametri sono "cablati nel codice" e non inseriti correttamente in variabili ' all'inizio del codice stesso. Perdonatemi ma sono un pigro etc. etc. ' 'CONSIDERAZIONE AGGIUNTIVA: 'se avete provato ad installare il .NET Framework 2.0 o Visual Studio 2005 Beta, anche la 'sola versione gratuita Web Developer, con ogni probabilità le pagine ASP non vi funzioneranno 'più. Con un pò di santa pazienza e ricerca su Google (NON nella documentazione Microsoft) 'troverete che potete agire sugli Application Mappings di IIS, sui filtri ISAPI, 'su aspnet_regiis.exe (prima su quello nella cartella C:\WINNT\Microsoft.NET\Framework\v2.0.40607, 'poi su quello nella cartella C:\WINNT\Microsoft.NET\Framework\v1.1.4322) con lo switch -i, ed in ultima 'analisi provare http://www.denisbauer.com/NETTools/...nSwitcher.aspx, che NON è stato 'testato su tutte le possibili combinazioni Windows/IIS. Buona fortuna ' Set fso = Server.CreateObject("Scripting.FileSystemObject") Set fold = fso.GetFolder("PERCORSO_CARTELLA") 'funziona sia nella forma locale, C:\pippo\pluto\..., 'che in quella remota \\computer_remoto\nome_cartella for each file in fold.Files if(Right(file.Name, 4)="ESTENSIONE_FILE") then 'sostituire "ESTENSIONE_FILE" con un'estensione a piacere nella forma ".xxx" Set txtread = fso.OpenTextFile(file.Path, 1, false) content = txtread.ReadAll() Set txtread = Nothing content = Replace(content, "TESTO_DA_SOSTITUIRE", "NUOVO_TESTO") Set txtwrite = fso.CreateTextFile(file.Path, true) txtwrite.Write(content) Set txtwrite = Nothing end if next Set fold = Nothing Set fso = Nothing %> Tutto bene, ma lo script ha un piccolo difetto: se voglio cambiare la stringa di testo etc. etc. in file contenuti nelle sottocartelle che stanno nelle sottocartelle che stanno nelle sottocartelle... della cartella? Kisses, Nat |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:05.



















