Basscyst
02-04-2005, 08:54 PM
I just made this in response to a post and figured maybe others might have a use for it. This will take all html pages in a clientside directory, and allow you to change the urls and text for each link contained therein, through irritating js prompts. :p The script assumes standard compliant coding, so only works for clean links with no tags between the opeing "<a>" and the link text. It also assumes the href is the first attribute you declare in the <a> tag. This is IE only.
<html>
<head>
<script type="text/javascript">
function changeLinks()
{
var sfo=new ActiveXObject('scripting.FileSystemObject');
var folder="C:\\Documents and Settings\\axmathe\\Desktop\\Dad" //adjust the folder housing your site here
var flist=ShowFolderFileList(folder);
function ShowFolderFileList(folderspec)
{
var f, f1, fc;
f = sfo.GetFolder(folderspec);
fc = new Enumerator(f.files);
s = new Array();
var i=0;
for(;!fc.atEnd(); fc.moveNext())
{
s[i]=fc.item();
i++;
}
return s;
}
for(var i=0;i<flist.length;f++)
{
var str=flist[i]+"";
var spot=str.lastIndexOf('.');
ftype=str.substring(spot+1,str.length);
if(ftype=='html')
{
var fopen=sfo.OpenTextFile(flist[i]);
var str2=fopen.readAll();
var cut=str2.split('<a href="');
for(var j=1;j<cut.length;j++)
{
var cut2=cut[j].split('</a>');
var spot=cut2[0].indexOf('"');
str3=cut2[0].substring(0,spot);
var url=str3;
var spot2=cut2[0].indexOf('>');
var lname=cut2[0].substring(spot2+1,cut2[0].length);
var newurl=prompt("Please enter the new URL for the following link. . .\nText: "+lname+" Current URL: "+url,url);
str2=str2.replace(url,newurl);
var newtext=prompt("Please enter the new text for the following link. . .\nText: "+lname+" Current URL: "+url,lname);
var fix=">"+lname+"<";
newtext=">"+newtext+"<";
str2=str2.replace(fix,newtext);
}
var fl=sfo.CreateTextFile(flist[i],true);
fl.WriteLine(str2);
}
}
}
</script>
</head>
<body>
<form>
<input type="button" onclick="changeLinks()" value="Go">
</form>
</body>
</html>
</script>
Have fun,
Basscyst
<html>
<head>
<script type="text/javascript">
function changeLinks()
{
var sfo=new ActiveXObject('scripting.FileSystemObject');
var folder="C:\\Documents and Settings\\axmathe\\Desktop\\Dad" //adjust the folder housing your site here
var flist=ShowFolderFileList(folder);
function ShowFolderFileList(folderspec)
{
var f, f1, fc;
f = sfo.GetFolder(folderspec);
fc = new Enumerator(f.files);
s = new Array();
var i=0;
for(;!fc.atEnd(); fc.moveNext())
{
s[i]=fc.item();
i++;
}
return s;
}
for(var i=0;i<flist.length;f++)
{
var str=flist[i]+"";
var spot=str.lastIndexOf('.');
ftype=str.substring(spot+1,str.length);
if(ftype=='html')
{
var fopen=sfo.OpenTextFile(flist[i]);
var str2=fopen.readAll();
var cut=str2.split('<a href="');
for(var j=1;j<cut.length;j++)
{
var cut2=cut[j].split('</a>');
var spot=cut2[0].indexOf('"');
str3=cut2[0].substring(0,spot);
var url=str3;
var spot2=cut2[0].indexOf('>');
var lname=cut2[0].substring(spot2+1,cut2[0].length);
var newurl=prompt("Please enter the new URL for the following link. . .\nText: "+lname+" Current URL: "+url,url);
str2=str2.replace(url,newurl);
var newtext=prompt("Please enter the new text for the following link. . .\nText: "+lname+" Current URL: "+url,lname);
var fix=">"+lname+"<";
newtext=">"+newtext+"<";
str2=str2.replace(fix,newtext);
}
var fl=sfo.CreateTextFile(flist[i],true);
fl.WriteLine(str2);
}
}
}
</script>
</head>
<body>
<form>
<input type="button" onclick="changeLinks()" value="Go">
</form>
</body>
</html>
</script>
Have fun,
Basscyst