Sí. Estos códigos son más para usar en documentos .HTA o .HTT que en un .HTM; pero tu comentario tampoco estuvo desubicado,
xknown. Hay mucha gente que recién empieza con javascript y para ellos no debe se algo tan obvio.
Una aclaración sobre mi mensaje anterior; y es que no debería estar allí. Escribí el texto en el editor y cuando fui a pegar el código descubrí que era “muy borrador” ( lleno de comentarios y lineas “para probar” ) así que me arrepentí. No sé en qué momento hice un
click donde no debía y el mensaje se envió (incompleto). Esto me pasa por tener varios editores abiertos al mismo tiempo, después no sé cuál mandé o cual no debí mandar.
Ahora que lo veo, me siento obligado a postear lo que “prometí”. Que seguro está sacado del mismo tutorial donde encontraste el tuyo,
Jayapata12, porque veo que se parece mucho.
Una última sugerencia: si van a probar los
scripts, desactiven los antivirus. Cuando un F.S.O intenta escribir un documento, a estos programas les da la histeria y empiezan a saltar alertas,
stops críticos, confirmaciones; cuando no terminan cerrando todo y escaneando el disco.
Código:
<html>
<head> <title> MANIPULAR ARCHIVOS.</title>
<script>
var fso, f1, f2, s;
var raiz = unescape(location.href.substring(0, location.href.substring(0, location.href.length-1).lastIndexOf( '/' )+1)).split("file:///").join("");
function CreateFile(){
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile(raiz+"archprueCrea.txt", true);
window.location.reload();
}
function WriteFile()
{
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile(raiz+"archprueEscr.txt", true);
// Escribir una línea con un carácter de nueva línea.
tf.WriteLine("Probando 1, 2, 3.") ;
// Escribir tres caracteres de nueva línea en el archivo.
tf.WriteBlankLines(3) ;
// Escribir una línea.
tf.Write ("Esto es una prueba de escritura.");
tf.Close();
window.location.reload()
}
function ReadFiles()
{
var fso, f1, ts, s, cont;
var ForReading = 1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile(raiz+"archprueLee.txt", true);
// Escribir una línea.
f1.WriteLine("Hola a todos");
f1.WriteBlankLines(1);
f1.Close();
// Leer los contenidos del archivo.
ts = fso.OpenTextFile(raiz+"archprueLee.txt", ForReading);
s = ts.ReadLine();
cont="Contenido del archivo= '" + s + "'";
ts.Close();
alert(cont);
window.location.reload();
}
var fso, f1, f2, s;
function MoveFile1()
{
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile(raiz+"archprueMueve.txt", true);
// Escribir una línea.
f1.Write("Esto es una prueba para mover archivo.");
// Cerrar el archivo para la escritura.
f1.Close();
}
function MoveFile2()
{
// Obtener un identificador para el archivo en la raíz de C:\.
f2 = fso.GetFile(raiz+"archprueMueve.txt");
// Mover el archivo al directorio \tmp.
f2.Move(raiz+"carpprue/archprueMueve.txt");
window.location.reload()
}
var fso, f1, f2, s;
function CopyFile1()
{
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile(raiz+"archprueCopia.txt", true);
// Escribir una línea.
f1.Write("Esto es una prueba de copia.");
// Cerrar el archivo para la escritura.
f1.Close();
}
function CopyFile2()
{
// Obtener un identificador para el archivo en la raíz de C:\.
f2 = fso.GetFile(raiz+"archprueCopia.txt");
// Copiar el archivo a \tmp.
f2.Copy (raiz+"carpprue/archprueCopia.txt");
}
var fso, f1, f2, s;
function DeleteFile1()
{
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile(raiz+"archprueBorrado.txt", true);
f1.Close();
}
function DeleteFile2()
{
// Obtener un identificador para el archivo en la raíz de C:\.
f2 = fso.GetFile(raiz+"archprueBorrado.txt");
// Eliminar los archivos.
f2.Delete();
}
function CreateFolder()
{
var fso;
// Obtener instancia de FileSystemObject.
fso = new ActiveXObject("Scripting.FileSystemObject");
// Crear una carpeta nueva con el objeto FileSystemObject.
fso.CreateFolder (raiz+"carpprue");
}
</script>
<style>
</style>
</head>
<body>
<h2>Manipular archivos de texto. (<tt> <script> document.write(raiz); </script></tt> ) </h2>
<input type=button onclick=CreateFile() value="Crear arch. texto">
<p>
Crea un archivo "<tt>archprueCrea.txt</tt>".
<hr>
<input type=button onclick=WriteFile() value="Crear y escr. arch. texto">
<p>
Crea un archivo "<tt>archprueEscr.txt</tt>".
<p>
con el texto
<pre>
Probando 1, 2, 3.
Esto es una prueba de escritura.
</pre>
<hr>
<input type=button onclick=ReadFiles() value="Crear, escr. y leer arch. texto">
<p>
Crea un archivo "<tt>archprueLee.txt</tt>".
<p>
con el texto
<pre>
Hola a Todos
</pre>
y lee el contenido para mostrarlo en un <tt>alert</tt>.
<hr>
<input type=button onclick=MoveFile1() value="Crear arch. p/mover">
<p>
Crea un archivo "<tt>archprueMueve.txt</tt>".
<p>
con el texto
<pre>
Esto es una prueba para mover archivo.
</pre>
<input type=button onclick=MoveFile2() value="Mover arch. texto">
<p>
y lo mueve a una carpeta <tt>"/carpprue"</tt>.<br>
(Si la carpeta no existe, crear con <input type=button onclick=CreateFolder() value="Crear carpeta"> )
<hr>
<input type=button onclick=CopyFile1() value="Crear arch. p/copiar">
<p>
Crea un archivo "<tt>archprueCopia.txt</tt>".
<p>
con el texto
<pre>
Esto es una prueba de copia.
</pre>
<input type=button onclick=CopyFile2() value="Copiar arch. texto">
<p>
y lo copia a una carpeta <tt>"/carpprue"</tt>.
<hr>
<input type=button onclick=DeleteFile1() value="Crear arch. p/eliminar">
<p>
Crea un archivo "<tt>archprueBorrado.txt</tt>".
<p>
<input type=button onclick=DeleteFile2() value="Eliminar arch. texto">
<p>
y lo elimina.
<p>
</body>
</html>
Agrego otro código. También abre por omisión en el mismo directorio donde está la página; pero no modifica ni guarda, y el directorio se puede cambiar, claro. Si el .TXT no existe en esa ruta, abre uno nuevo para mandarlo ahí.
Código:
function AbreTXT(){
nombre = 'Mi%20Documento%20Texto.txt';
raiz1 = location.href.substring(0, location.href.substring(0, location.href.length-1).lastIndexOf('/') + 1);
raiz2 = prompt("¿ Abre el documento con esta dirección, o desea escribir otra ?",raiz1 + nombre);
window.location.href = 'view-source:' +raiz2 ;
}
Estaba pensando como un LOG que permitía seleccionar texto de una página y en la misma operación se abría el archivo .TXT para pegar y guardar.
Si metemos la ruta elegida por el usuario en una cookie hasta podríamos usar esto en una página Web de verdad. Si, sí, en
Windows con
Internet Explorer.
saludos
furoya