You are on page 1of 7

Windos Scrips Voluntaris

Realitzar un script que mitjanant un expressi regular comprovi el identificador d'un compte corrent (un exemple seria 1234 !"#$ %& 1234!"#$%&' Exemple 1: Dim valor, cc,b wscript.stdout.writeline "Introdueix Compte Corrent" cc = wscript.stdin.readline comprovar cc Sub comprovar (cc) Dim patro Set patro = new Reg xp patro.!attern = "("#d$%&'#d$%&'#d$(&'#d$)*&+)" I, patro.test (cc) t-en wscript.stdout.writeline "Compte Corrent Correcte" else wscript.stdout.writeline "Compte Corrent .o valid" end i, nd sub Exemple 2: /ption xplicit Dim numCompte,valid valid = ,alse 0unction esCompte1alid (231al pString) Dim oReg Set oReg = new Reg xp oReg.!attern = ""#d$%&4#s5#'6#d$%&4#s5#'6#d$(&4#s5#'6#d$)*&+" 7Script.Stdout.7rite8ine pString 7Script.Stdout.7rite8ine oReg.9est(pString) esCompte1alid = oReg.9est(pString) end 0unction 7Script.Stdout.7rite8ine " ntra un numero de compte: " numCompte = 7script.StdIn.Read8ine valid = esCompte1alid(numCompte) i, valid t-en 7Script.Stdout.7rite8ine " l numero introduit segueix el patro" else 7Script.Stdout.7rite8ine " l numero introduit no segueix el patro" end i,

Realitzar un script que comprovi les extensions de fitxers gr(fics (jpg) jpeg) png i gif' mitjanant expressions regulars (exemples de noms de fitxers gr(fics serien* imatge+jpg) fitxer+jpg) fitxer2+gif o fitxer2+png'+

/ption xplicit Dim imatge,valid valid = ,alse 0unction es xt1alida (231al pString) Dim oReg Set oReg = new Reg xp oReg.!attern = ""4#w'#.6;4#<pg#654#<peg#654#png#654gi,6+" 7Script.Stdout.7rite8ine pString 7Script.Stdout.7rite8ine oReg.9est(pString) es xt1alida = oReg.9est(pString) end 0unction 7Script.Stdout.7rite8ine " ntra un nom d=una imatge amb la seva extensio: " imatge = 7script.StdIn.Read8ine valid = es xt1alida(imatge) i, valid t-en 7Script.Stdout.7rite8ine "8=extensio introduida segueix el patro" else 7Script.Stdout.7rite8ine "8=extensio introduida no segueix el patro" end i,

,omprovar una data en el format aaaa mm dd (per exemple* 2&12 11 23 o 1%%% 4 1'
/ption xplicit Dim data,valid valid = ,alse 0unction esData1alida (231al pString) Dim oReg Set oReg = new Reg xp oReg.!attern = ""()>5(*)#d#d4#'6(4)'>65)4*)(6)4#'6(4)'>654)(64*'>65?4*)6)+" 7Script.Stdout.7rite8ine pString 7Script.Stdout.7rite8ine oReg.9est(pString) esData1alida = oReg.9est(pString) end 0unction 7Script.Stdout.7rite8ine " ntra una data: " data = 7script.StdIn.Read8ine valid = esData1alida(data) i, valid t-en 7Script.Stdout.7rite8ine "8a data introduida segueix el patro" else 7Script.Stdout.7rite8ine "8a data introduida no segueix el patro" end i, -ttp:@@sergioraAAa.blogspot.com.es@(*)*@*B@validacion'de',ec-as'con'expresionesC)).-tml

-mplementa una funci en ./0 que donat un car(cter que representa un disc (,) 1) 2) etc' comprovi si la unitat est( ocupada en m3s d'un $&4) la funci 5aur( de retornar un valor 6oole(+ Exemple 1 Set ,so = Create/b<ect("Scripting.0ileS3stem/b<ect") dim unidad,total,libre,tatalClibre,total spacio 7Script. c-o " ntrar letra de la unidad para calcular el espacio <e C:" unidad = wscript.StdIn.Read8ine Set d = ,so.DetDrive(unidad) total spacio= CD28(d.9otalSiAe@)*(%@)*(%) libre=CD28(((d.0reeSpace)@)*(%)@)*(%) tatalClibre=CD28(((total spacio'libre)E)**)@total spacio)

7Script. c-o " spacio total ocupado en megas " F Round(total spacio,?) F " megas G en Digas=" F Round((cdbl(total spacio@)*(%)),?) wscript. c-o " spacio libre en megas " F Round(libre,?) F " megas G en Digas=" F Round((cdbl(libre@)*(%)),?) i, tatalClibre H I* t-en 7Script. c-o "Capacidad de disco duro ocupada mas del I*J" else 7Script. c-o "/cupado un " F Round(tatalClibre,()F "J" end i, Exemple 2 /ption xplicit Dim ,so,ldisc,boolea Set ,so = Create/b<ect("Scripting.0ileS3stem/b<ect") Sub in,odiscs (ldisc) =SK2 D=in,ormaciL del MDD Dim espailliure,espaitotaldisc,espailliuredisc Dim limit, disc Set disc = ,so.DetDrive(ldisc) wscript.stdout.writeline "In,ormacio del disc: " F disc.Drive8etter i, disc.IsRead3 9-en espaitotaldisc = C8ng(disc.9otalsiAe@)*(%) espailliuredisc = C8ng(disc.0reespace@)*(%) wscript.stdout.writeline " spai del disc " F espaitotaldisc F " N23tes" wscript.stdout.writeline " spai disponible " F espailliuredisc F " N23tes" F vbCr8, limit = C8ng(espaitotaldiscE*.I*) i, (espailliure O limit) t-en boolea = true F " 9ens poc espai disponiblePP" else boolea = ,alse F " 9ens bastant espai disponible" end i, else wscript.Stdout.writeline " l disc no esta preparat o no es troba." end i, wscript.stdout.writeline boolea wscript.Std/ut.7riteline "0i de la in,ormacio del disc. " nd Sub =!rograma principal I, 7script.Qrguments.Knnamed.8engt-H* 9-en ldisc = 7script.Qrguments.Knnamed.Item(*) wscript.stdout.writeline "Mas introduit un argument." lseI, InStr(),7Script.0ull.ame, "cscript") H * 9-en 7script.Std/ut.7rite "Introdueix la lletra de la unitat a comprovar: " ldisc = 7script.StdIn.Read8ine nd I, in,odiscs ldisc

7Script.Ruit -mplementa un procediment en ./0 que utilitzant la funci del exercici 7 mostri per la sortida est(ndard aquelles unitats que estiguin ocupades en m3s d'un $&4+ Set ,so = Create/b<ect("Scripting.0ileS3stem/b<ect") dim unidad,total,libre,tatalClibre,total spacio 7Script. c-o " ntrar letra de la unidad para calcular el espacio <e C:" unidad = wscript.StdIn.Read8ine Set d = ,so.DetDrive(unidad) total spacio= CD28(d.9otalSiAe@)*(%@)*(%) libre=CD28(((d.0reeSpace)@)*(%)@)*(%) tatalClibre=CD28(((total spacio'libre)E)**)@total spacio) i, tatalClibre H I* t-en 7Script. c-o "Capacidad de disco duro ocupada mas del I*J" end i, -mplementa una funci en ./0 que donada la ruta (8at5' d'un directori ens retorni un valor 6oole( depenent si els directori ocupa m3s de 1)2 9i7+ Function TamanoCarpeta () On Error Resume Next dim ruta Wscript.Echo "Entrar Ruta" ruta = wscript.StdIn.ReadLine Set FileSystem = CreateObject("Scripting.FileSystemObject") Set RootFolder = FileSystem.GetFolder(ruta) If Err.Number <> 0 Then TamanoCarpeta = Err.Description Else TamanoCarpeta = RootFolder.Size/1024/1024 Wscript.echo TamanoCarpeta End If end function TamanoCarpeta () ,rea una funci en ./0 que donades dues rutes) 6usqui quins su6directoris del primer directori (passat com argument d'un par(metre' ocupen m3s de 1&& :i7 i els copii al segon directori (passat tam63 com argument d'un par(metre'+ ,apalera del procediment*/u6 copia:es1&&(7;<al p=rigen) 7;<al p1esti' 0unction 9amanoCarpeta () /n rror Resume .ext dim ruta),ruta(,tratar),tratar( 7script. c-o " ntrar la primera ruta" ruta) = wscript.StdIn.Read8ine 7script. c-o " ntrar la segundaruta" ruta( = wscript.StdIn.Read8ine

Set 0ileS3stem = Create/b<ect("Scripting.0ileS3stem/b<ect") Set 9ruta) = 0ileS3stem.Det0older(ruta)) tratar) = 9ruta).SiAe@)*(%@)*(% i, tratar) H )** t-en Set ob<S-ell = Create/b<ect("7script.S-ell") dim ob<Command ob<Command = "RoboCop3. xe " F ruta) F " "F ruta(F " @mir @v @e @r:) @w:(" ob<S-ell.Run(ob<Command) end i, end ,unction 9amanoCarpeta () <alidar un n>mero d'al6ar( correcte+ ?n al6ar( sempre comenar( per una lletra (@ o 7' i continuar( am6 nou dAgits (serien correctes *@&&&&&12!# o 7&&&&&&&&B incorrectes* @12!# o ,&&&&&12!#'+ Exemple 1 Dim valor, albara,b wscript.stdout.writeline "Introdueix el numero d=albara a comprovar" albara = wscript.stdin.readline comprovar albara Sub comprovar (albara) Dim patro Set patro = new Reg xp patro.!attern = "("4abQ26$)&4*'>6$>&+)" =*'>6$>& =464*'>6$>& I, patro.test (albara) t-en wscript.stdout.writeline "Qlbara Correcte" else wscript.stdout.writeline "Qtencio Qlbara IncorrectePP" end i, nd sub Exemple 2 strid = "Q)(%%STBI>" Set re = .ew Reg xp 7it- re .!attern = ""4Q26#d$>&+" .IgnoreCase = 0alse .Dlobal = 0alse nd 7it= 9est met-od returns 9RK i, a matc- is ,ound I, re.9est( strid ) 9-en 7Script. c-o(strid F " valid") lse 7Script. c-o(strid F " no valid") nd I,

Set re = .ot-ing ,rear una funci que validi adreces :@, (per exemple 1e*&&*!$*4c*1%*$e'+ Dim valor, cc,b wscript.stdout.writeline "Introdueix la UQC per comprovar" cc = wscript.stdin.readline comprovar cc Sub comprovar (cc) Dim patro Set patro = new Reg xp patro.!attern = "("4a',Q'0*'>6$(&4:'64a',Q'0*'>6$(&4:'64a',Q'0*'>6$(&4:'64a',Q'0*'>6$(& 4:'64a',Q'0*'>6$(&4:'64a',Q'0*'>6$(&+)" I, patro.test (cc) t-en wscript.stdout.writeline "UQC Correcte" else wscript.stdout.writeline "UQC .o 1alida" end i, nd sub

You might also like