Você está na página 1de 6

Sistemas

Ejercicio 1
Utilizando la referencia de la coleccin Folders: http://msdn.microsoft.com/en-us/library/9kcx47hd%28v=VS.85%29.aspx Crea un script que muestre por pantalla un mensaje informando de la fecha de creacin del directorio Windows. NOTA: en esta versin del programa se supondr que la unidad de instalacin es C:.

Solucin
//Se instancia un objeto de tipo FileSystemObject var sistema = WScript.CreateObject("Scripting.FileSystemObject"); //Se accede a la carpeta c:\windows a travs de un objeto de tipo Folder var dir_sistema = sistema.getFolder("c:\\windows"); //Se devuelve la fecha de creacin de la carpeta WScript.Echo(dir_sistema.dateCreated);

Ejercicio 2
Utilizando la referencia del objeto Date de JavaScript formatea la salida del ejercicio anterior para que se la siguiente: La fecha de creacin del sistema es: dd-mm-aaaa La referencia del objeto Date se puede consultar en: http://www.w3schools.com/jsref/jsref_obj_date.asp

Solucin

//Se instancia un objeto de tipo FileSystemObject var sistema = WScript.CreateObject("Scripting.FileSystemObject"); //Se accede a la fecha de creacin de la carpeta c:\windows var fecha_sistema = new Date(sistema.getFolder("c:\\windows").dateCreated); //Se formatea la fecha de creacin var fecha = fecha_sistema.getDate()+"/"+fecha_sistema.getMonth()+"/"+fe cha_sistema.getFullYear(); //Se devuelve un mensaje con la fecha formateada WScript.Echo(fecha);

Ejercicio 3

1.- Se va programar un script que debe devolver un mensaje informando del nmero de ficheros que contiene el directorio c:\prueba. 2.- Crea una nueva versin del script que cuente nicamente los archivos cuyo tamao excede los 1024 Kb.

Solucin 1
//Se instancia un objeto de tipo FileSystemObject var sistema = WScript.CreateObject("Scripting.FileSystemObject"); //Se devuelve accede a la carpeta c:\prueba a travs de un objeto Folder //Es posible que la carpeta no exista as que se captura el posible error

try { var prueba = sistema.GetFolder("c:\\prueba"); } catch(error) { WScript.Echo("El directorio no existe o no est disponible"); WScript.Quit(); } //Se decuelve el numero de archivos de la carpeta switch (prueba.Files.Count) { case 0: WScript.Echo("El directorio c:\\prueba no contiene archivos");break; case 1: WScript.Echo("El directorio c:\\prueba contiene 1 archivo");break; default: WScript.Echo("El directorio c:\\prueba contiene "+prueba.Files.Count+" archivos"); }

Solucin 2
//Se instancia un objeto de tipo FileSystemObject var sistema = WScript.CreateObject("Scripting.FileSystemObject"); //Se devuelve accede a la carpeta c:\prueba a travs de un objeto Folder //Es posible que la carpeta no exista as que se captura el posible error try { var prueba = sistema.GetFolder("c:\\prueba"); } catch(error) { WScript.Echo("El directorio no existe o no est disponible"); WScript.Quit(); } //Se recorren los archivos de la carpeta y se va comprobando que cumplen los requisitos impuestos: que tengan un tamao superior a 1024 Kb var numero_ficheros = 0; var ficheros = new Enumerator(prueba.Files); for(;!ficheros.atEnd();ficheros.moveNext()) { if(ficheros.item().Size/1024>1024) numero_ficheros++; } //Se devuelve el numero de archivos de la carpeta switch (numero_ficheros) { case 0: WScript.Echo("El directorio c:\\prueba no contiene archivos con tamao superior a 1024Kb"); break; case 1: WScript.Echo("El directorio c:\\prueba contiene 1 archivo que excede los 1024 Kb"); break;

default: WScript.Echo("El directorio c:\\prueba contiene "+numero_ficheros+" archivosque exceden los 1024kb");

Ejercicio 4
Se dispone en C: de dos carpetas de nombres sinclasificar y clasificadosrespectivamente. La carpeta sinclasificar contiene archivos de diversas extensiones (se supone que todos los archivos de esta carpeta tienen extensin y que las posibles extensiones son doc, txt y pdf). La carpetaclasificados dispone a su vez de las siguientes subcarpetas: DOC, TXT y PDF. El objetivo de este ejercicio es clasificar los archivos segn su extensin de la siguiente manera: * Si el archivo es de extensin doc, se copia al directorio c:\clasificados\DOC. * Si el archivo es de extensin txt, se copia al directorio c:\clasificados\TXT. * Si el archivo es de extensin pdf, se copia al directorio c:\clasificados\PDF. Cuando se termina de copiar se debe informar al usuario con un mensaje .

Solucin
//crea un objeto que representa el sistema de archivos var sistema = new ActiveXObject("Scripting.FileSystemObject"); //captura la carpeta de origen try { var origen = sistema.GetFolder("c:\\sinclasificar"); } catch(error) { WScript.Echo("Error. La ruta no se puede encontrar"); WScript.Quit(); } //Captura la coleccion de ficheros de c:\sinclasificar var ficheros; ficheros = new Enumerator(origen.Files); for(;!ficheros.atEnd();ficheros.moveNext()) {
5

//version 1. Extraemos la extensin con subcadenas //var extension = ficheros.item().Name; //extension = extension.substring(extension.lastIndexOf(".")+1,extension. length); //version 2. Utilizando el mtodo GetExtensionName extension = sistema.GetExtensionName(ficheros.item().Name); extension=extension.toLowerCase(); switch(extension) { case "txt": { ficheros.item().copy("c:\\clasificados\\txt\\")//cop ia break; } case "doc": { ficheros.item().copy("c:\\clasificados\\doc\\")//cop ia break; } case "pdf": { ficheros.item().copy("c:\\clasificados\\pdf\\")//cop ia break; } } } WScript.Echo("Proceso de clasificado finalizado");

Você também pode gostar