Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#1711
Cita de: bySprigans en 30 Septiembre 2017, 15:07 PM¿ sería posible programar (...) algo que le diese a "X" tecla (...) para "Y" ventana ?

Cita de: bySprigans en 30 Septiembre 2017, 15:07 PMno he encontrado nada esclarecedor por la red ( a ver he estado como 10 - 15 min en inlgés y español y no he encontrado nada útil, quizá lo he pasado por alto pero... vamos creo que no he encontrado nada que me ayude...)

Hola.

Si, es posible, y no es algo complejo de realizar, pero si reconoces que solo eres capaz de dedicarle entre 10 a 15 minutos para llevar a cabo una simple investigación (como si eso fuese un gran esfuerzo... lo que algunas personas le dedican a leer la primera página del periódico cada mañana), dudo mucho que seas capaz de invertir el tiempo suficiente para aprender un lenguaje de programación a nivel usuario junto a los conceptos básicos de la programación de la API de Windows (incluyendo colas de mensajes, mensajes de ventana y teclas virtuales) para llevar a cabo ese tipo de tarea.

Respondiendo a tu pregunta: por lo que he entendido lo que pretendes es simular la pulsación de una tecla en una ventana que no tiene el foco de entrada (o input focus por su nombre en Inglés), bien, eso puedes hacerlo con las funciones SendMessage y PostMessage de la API de Windows dependiendo de la situación/circunstancias (la primera función es sincrónica y la otra asincrónica). También puedes utilizar otras funciones (como SendMessageTimeOut y en otras circunstancias SendNotifyMessage), además en otras circunstancias tal vez quisieras darle foco a la ventana objetivo y usar la función SendInput para enviar composiciones de teclas, pero para el caso que nos concierne a esta pregunta la función más conveniente en un principio sería PostMessage.

No has especificado un lenguaje de programación, así que te explico la solución a modo de pseudocódigo:

Declare Constant WINDOW_MESSAGE_KEYDOWN = 256
Declare Constant VIRTUAL_KEY_SPACE = 32

Declare Variable process = GetProcess("nombre de proceso")
Declare Variable windowHandle = GetWindowHandle(process)

Call PostMessage(windowHandle, WINDOW_MESSAGE_KEYDOWN, VIRTUAL_KEY_SPACE, null)


Esto traducido a VB.NET sería más o menos tal que así:

Código (vbnet) [Seleccionar]
Imports System.ComponentModel
Imports System.Linq
Imports System.Runtime.InteropServices
Imports System.Security


Código (vbnet) [Seleccionar]
Const WM_KeyDown As Integer = 256 'https://msdn.microsoft.com/en-us/library/windows/desktop/ms646280(v=vs.85).aspx
Const VK_Space As Integer = 32    'https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
' WindowsForms: VK_Space As Integer = System.Windows.Forms.Keys.Space
' WPF: VK_Space As Integer = System.Windows.Input.KeyInterop.VirtualKeyFromKey(System.Windows.Input.Key.Space)

Using p As Process = Process.GetProcessesByName("nombre del proceso").SingleOrDefault()
   If (p IsNot Nothing) Then

       Dim result As Boolean = NativeMethods.PostMessage(p.MainWindowHandle, WM_KeyDown, New IntPtr(VK_Space), IntPtr.Zero)
       If Not (result) Then
           Throw New Win32Exception(Marshal.GetLastWin32Error())
       End If

   End If
End Using


Código (vbnet) [Seleccionar]
' https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060-move-p-invokes-to-nativemethods-class
Friend NotInheritable Class NativeMethods
   Private Sub New()
   End Sub

   ' https://msdn.microsoft.com/es-es/library/windows/desktop/ms644944(v=vs.85).aspx
   <SuppressUnmanagedCodeSecurity>
   <DllImport("User32.dll", SetLastError:=True)>
   Friend Shared Function PostMessage(
        hWnd As IntPtr, msg As Integer, wParam As IntPtr, lParam As IntPtr
   ) As <MarshalAs(UnmanagedType.Bool)> Boolean
   End Function
End Class


PD: Si deseas traducir el código de arriba al lenguaje C#, puedes utilizar mi aplicación gratuita:




EDITO: La alternativa a la programación sería utilizar cualquier grabador de macros, como por ejemplo JitBit Macro Recorder:
...dicho programa provee una amplia diversidad de características, entre ellas: localizar ventanas según el título de ventana de ésta y enviar pulsacioens del teclado, pero también vas a tener que necesitar invertir su debido tiempo en aprender como crear una macro... ya que se asemeja ligeramente a la creación de un script de programación (en el JitBit Macro Recorder puedes crear "bloques" de condicionales IF, búcles FOR y etiquetas GOTO).



Saludos.
#1712
Cita de: PalitroqueZ en 30 Septiembre 2017, 13:24 PM
igual no habrá diferencia por mas que te esfuerces, porque la limitación es de hardware.

dile que el equipo es muy viejo y no se puede.

Opino lo mismo en ambas cosas. De poco o nada va a servir intentar realizar todas las MICRO-optimizaciones posibles cuando ese PC está corriendo al mínimo de requisitos permitido de RAM:

Cita de: https://support.microsoft.com/en-us/help/10737/windows-7-system-requirements

La solución más óptima es aumentar la RAM, fin. No es discutible, si el cliente no lo entiende pues oye... que se informe o si quiere que se vaya indignado a otra tienda para que sea el problema de otro. En estas circunstancias especiales de hardware es tontería perder tiempo en realizar micro-optimizaciones de detención de servicios, limpieza del sistema de archivos y un largo etcétera para ganar 1-5 segundos de beneficio en tiempos de ejecución en general...

Saludos.
#1713
Scripting / Re: Comando IF THEN
30 Septiembre 2017, 14:02 PM
Cita de: teddy en 29 Septiembre 2017, 23:57 PM
Hola no sé si podríais ayudarme o si es posible usar el comando IF para lo que quiero hacer, Hay un achivo en mi Mediacenter que no sé porque System lo borra y vuelve a generarlo de nuevo creando otra vez todos los Thumbs.
Mi idea era crear un Bat que periodicamente mirara ese fichero para volcar otro y lo sustituyera.

Cita de: teddy en 30 Septiembre 2017, 02:48 AM
Llevo años con el problema de este fichero que se recrea cuando quiere (imagino que es un bug de Windows Media Center) al que nunca he encontrado solución y con esto imagino que saldré.

Hola.

Aunque ya lo hayas solucionado pro otros medios, me gustaría decirte que en un principio soluciones como scripts / programador de tareas son innecesarias. Para evitar que el sistema operativo / una aplicaciónde terceros realice modificaciones sobre un archivo (como en este caso dices que primero ocurre una eliminación de archivo) puedes probar a modificarle el atributo del archivo a Solo Lectura (Read-Only por su nombre en Inglés), si eso no te funciona entonces modifica los permisos del archivo (y el propietario) para permitir la lectura y denegar la escritura y la eliminación, eso te resultará.

Saludos.
#1714
Cita de: El_Andaluz en 30 Agosto 2017, 22:36 PMQue os parece la nueva versión ?  :huh:

Desde que vi el trailer lo primero que pensé es que el maquillaje de la cara del personaje de "IT" no se puede comparar con el de la película original, éste más que dar miedo solo consigue dar ganas de querer llamar a un feriante para que recojan a un payaso loco que se les ha escapado por ahí. Me parece un insulto a los fans.

Sobre la película, bueno, es la típica película que está bien para verla una vez pero no tienes ganas de volverla a ver nunca más. La selección de actores (los niños y la niña) me ha parecido una pu** mier**, han hecho lo típico del cine moderno americano cuando tienen que sentarse en la mesa y decidir como van a formar el grupo de adolescentes: coger a un niño repelente (el de gafas), un negro, unos blanquitos, y una chica, e intentar que tanta diversidad y sus personalidades cuadren en el argumento y en este caso también que sus interpretaciones se asemejen a la de la película original... pero no, así no se hacen bien las cosas, esto es bazofia muy comercial dirigida al público más jóven.

Me imaginaba que en este remake no iban a hacer lo que hicieron en la película original de 1990... que la primera parte de la película son niños, y luego todo lo que les sucede es de adultos, era algo muy previsible que en esta película toda la trama iba a suceder en una linea argumental de adolescente por que hoy en día en las grandes producciones del cine americano ya no meten actores, sino niños de 14 años. Eso es algo que no me ha gustado por que estoy harto de ver crios en los remakes de películas para adultos y en el cine en general, pero bueno, en esta sociedad de mier** prima más el dinero que hacer una gran película, y las productoras supongo que obtienen mucho más beneficio haciendo películas para niños, y con niños de personajes.

Lo que me ha gustado en especial es al final de la película cuando explican cosas del misterioso payaso "IT" que no se explican bien en la película original... y no sé si en el libro lo explicarán o será un invento de este remake por que no he leido el libro. Me refiero por ejemplo cuando te enseñan la guarida de "IT", en ese momento la frase "flotar aquí abajo" cobra sentido. Eso me gustó.

Cita de: El_Andaluz en 30 Agosto 2017, 22:36 PMSe nota que el Cine sin las películas antiguas no sobreviven haciendo remake pero bueno están faltos de ideas y tienen que cargarse películas antiguas.

Y cuando no son remakes son los reboots, como el reboot de "Spiderman Homecoming"... otra bazofia de película destroza-infancias. Ya podrían haber titulado a la película "El sobrino de Ironman" o algo parecido, por que es pa mear y no echar gota... en serio, el traje de ese Spiderman tan tecnológico con una IA que hace de asistente hasta para configurar la "telaraña"... en fin, no puedo ver tanta BASURA junta en un mismo film. Esta película está a la altura de Sharknado 1 2 y 3, solo que con el nombre "Marvel" para que la vayan a verla tus hijos y creas que no es una película tan mala...

Saludos.
#1715
Software / Re: despedida de soltero de Tom Hanks 1984
30 Septiembre 2017, 13:03 PM
Cita de: buite en 28 Septiembre 2017, 18:27 PM
Para registrarme necesito una invitación de un miembro de esta comunidad.

Oido cocina. :)  Ya lo hemos hablado por privado, no me acordaba del tema de las invis...

PD: He borrado los enlaces de descarga en el post de arriba, si los necesitas me avisas.

Saludos.
#1716
Estaba yo buscando covers de Rock... y de repente Youtube me salta con esto:

BABYMETAL - ギミチョコ!!- Gimme chocolate!!
[youtube=640,360]https://www.youtube.com/watch?v=WIKqgE4BwAY[/youtube]

Creo que con esa coreografía tan "espectacular" por fin he logrado publicar un videoclip japo que esté a la altura de los WTF japoneses del compañero @Orubatosu xD.



( Capcom ha soltado billetes para incluir a la familia de Skullomania en la producción de este videoclip... )




Y aquí una cover de un temazo legendario de Depeche Mode ... :-)

Lacuna Coil - Enjoy The Silence
[youtube=640,360]https://www.youtube.com/watch?v=Lx58hXh4pVA[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=FDxM8-k60_M[/youtube]




Y por último otra cover de un tema de Michael Jackson...

Three Days Grace - Give In To Me
[youtube=640,360]https://www.youtube.com/watch?v=02VRCVh05NU[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=LJ7qXHjxj_0[/youtube]

Saludos.
#1717
Cita de: Orubatosu en 27 Septiembre 2017, 21:41 PMYo ya te adelanto que al margen de los filtros de spam, cualquier tipo de publicidad que no haya pedido no es que la borre directamente, es que me predispone en contra del producto que anuncie

Claro, no te digo que no, esa sería la típica reacción de muchas personas... también la mía, pero aun así debes reconocer que el e-mail marketing es una buena estrategia de negocio que FUNCIONA... de lo contrario las grandes empresas no lo harían :P, y no me digas que nunca te han llegado correos de redes sociales como Facebook, o servicios cuales quiera como Infojobs, Google / Youtube, Paypal, Amazon o cualquiera de estos grandes tiburones que de vez en cuando nos envian pura y dura PUBLICIDAD de cosas (muchas veces de compañias "externas" a ellos, para colmo) y que tu no has solicitado en ningún momento que te envien eso (y ahora pienso vaya por Dios... esto no es ilegal... claro que no... como con empresas grandes... en fin) y tú has cojido a desgana esos emails y los has eliminado sin tan siquiera mirarlos, cabreandote y queriendo prenderles fuego por que te hayan "decepcionado" al enviarte publicidad que no viene a cuento de nada... pero aun así tú sigues usando sus productos, sigues hablando de sus servicios, sigues confiando en ellos... aunque de vez en cuando te envien publicidad no deseada (y no hablo de la típica publicidad que envian al aceptar suscribirse por uno mismo al boletín de noticias).

Dime que no es así, Oru...
...pues eso.




Cita de: warcry. en 27 Septiembre 2017, 22:08 PMpero si lo mando a un hotmail, ni siquiera aparece en la bandeja de spam, y creo que con gmail tres cuartos de lo mismo.

creo que los grandes solo admiten correos de los dominios registrados y servidores validados.

por eso te preguntaba como tenias pensado saltarte los filtros, porque a mi me interesa a titulo particular. se saltarme los filtros de spam o correo no deseado, pero requiere de servidores de correos "legales"

No lo sé exactamente, estoy preguntando cosas por que evidentemente estoy un poco verde en el tema, pero... yo no creo que el e-mail fuese "desadmitido" incluso para clasificarlo como Spam si lo envio a través de una cuenta de @gmail.com o @hotmail.com, ¿no? (pregunto), eso es lo que pensaba hacer desde un principio... ya te digo que intentar saltarme los filtros de spam no es algo que esté dentro de mis planes (al ser algo ilegal y con pruebas de habr habido juicios en España por ese delito) así que no sé exactamente como se lograría evadir el tema, ni me interesa, lo siento. Ahora, si el correo no llegase ni siquiera a la bandeja de spam como tú dices pues... eso ya si que sería un gran problema :-/

Saludos
#1718
Scripting / Re: el signo =
28 Septiembre 2017, 01:28 AM
Cita de: Orni1 en 27 Septiembre 2017, 23:03 PMEntiendo que es un código obsoleto y que hay otras opciones mas actuales y mejores

Bueno, "obsoleto" es un término muy...peliagudo y más de una vez me han criticado por llamar obsoleto a las cosas, así que dejémoslo en "insuficiente". Simplemente Batch no da la talla necesaria para cubrir ciertas necesidades de forma eficiente...




Cita de: Orni1 en 27 Septiembre 2017, 23:03 PMMi desconocimiento es tal que todavía no soy capaz de saber como es posible que el código del compañero funcione

Sinceramente no me entusiasma ponerme a analizar y desglosar códigos espagueti y menos escritos en Batch, pero lo haré para intentar ayudarte a que trates de discernir por ti mismo la gravedad del asunto:

Empecemos por la parte más relevante del código, estas lineas:

Citar@echo off
set n=HT
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type texto.txt') do (
set linea=%%x
set linea=!linea:version=%n%!

En esta variable se define el reemplazamiento ("HT")
Citar
Código (dos) [Seleccionar]
set n=HT

Luego, lo que se hace es utilizar un búcle de tipo For /Files para iterar las lineas del texto. Cada linea de texto se almacena en la variable de For %%x:
Citar
Código (dos) [Seleccionar]
for /f "tokens=* delims=" %%x in ('type texto.txt') do (...

Cada linea se reasigna en la variable !linea!
Citar
Código (dos) [Seleccionar]
set linea=%%x
...es decir, aquí tanto el valor de la variable de For %%x como de la variable "linea" es: "version=85045"

Seguidamente se lleva a cabo un string replacement (el reemplazamiento de texto) en el que se le indica que se debe reemplazar el texto "versión" (recuerda que esto se hace en todas las lineas) por el valor de la variable %n%, es decir, "HT":
Citar
Código (dos) [Seleccionar]
set linea=!linea:version=%n%!
...y es aquí donde la linea de texto pasa a ser de "version=85045" a "HT=85045".

Ese reemplazamiento de por si ya es un fallo muy grave, puesto que dará falso positivo / resultados indeseados en cualquier linea que contenga el texto "version". Por ponerte un ejemplo, esto:
texto_Version_texto=85045
Será convertido a esto otro:
texto_HT_texto85045

Bueno, sigamos...

El caracter del símbolo igual = se define más tarde en esta variable:
Citar
Código (dos) [Seleccionar]
Set Caracter=^=
...esto de por si es una práctica no recomendable en Batch que pone en peligro posibles fallos de sintaxis en futuras evaluaciones, puesto que la variable no está encerrada entre comillas dobles. Debería haber sido declarada de la siguiente manera:
Set "Caracter=="
...no es necesario escapar el caracter.

Luego, en la rutina :Buscador se itera cada caracter de la linea, es decir, se va procesando cada caracter hasta encontrar el caracter que coincida con la variable "%caracter%", es decir, el símbolo de igual =.
De nuevo aquí se usa una mala práctica además de ser muy peligrosa (y de verdad), la Recursividad, esto es cuando una función se llama así misma de forma indefinida para resolver un problema ( en el código: Goto Buscador ). Esto quiere decir que si usases ese algoritmo recursivo (la rutina :Buscador del script de @Aincrad) sobre un archivo con muchas (pero muchas) lineas de texto/caracteres, inevitablemente desembocaría en un error conocido como Stack Overflow, el cual indica un agotamiento de espacio en la capacidad de almacenamiento de la pila de llamadas por un exceso de llamadas (como resulta evidente), y este error imposibilitaría que el programa/algoritmo pudiese proseguir y finalizar su ejecución.

..Por no decir que para cumplir el objetivo de reemplazar un texto se han tenido que escribir ni más ni menos que 104 lineas de código en Batch, compañero, 104. Fíjate en las 10 simples lineas que te ofrece el lenguaje PowerShell para llevar a cabo la misma tarea y de forma mucho más estable. Ojo, no estoy insinuando que esto tenga que ver con la forma de programar y estructurar/organizar del compañero @Aincrad (bueno, un poco si xD, el código se puede simplificar mucho) sino con las limitaciones por naturaleza que implica el uso de Batch, donde en otros lenguajes son 10 lineas, en Batch serán 100... e imperfectas.

Eso son solo algunos de las muchos problemas que uno tiene que sufrir al trabajar con Batch, es horrible e inestable realizar este tipo de tareas en Batch, por que Batch no fue diseñado para esto, pero la gente se acostumbra y se acostumbra y se creen que les vale para todo... todo lo quieren hacer con Batch, incluso, cuando NO SE PUEDE (o se puede, pero MAL... de forma inestable).




Mira, para que puedas tener una alternativa a la solución de @Aincrad, te voy a enseñar un código que desarrollé hace mucho tiempo y quizás podría servirte para llevar a cabo modificaciones de archivos de texto en Batch como reemplazar texto de forma sencilla:


El código entero lo copiarias dentro de tu script, abajo del todo, tal que así:
Código (dos) [Seleccionar]
@Echo OFF
REM Aquí los comandos originales de tu script...
Echo Hello World !!
REM ...
Exit

REM Aquí abajo insertas todo el código de la rutina :TEXTMAN
:TEXTMAN
REM ...


y la sintaxis de utilización sería la siguiente:
Call :TEXTMAN RSA "Archivo.txt" "Perl=" "HC"

...pero hace años que no utilizo ese código del demonio, no sé si estará del todo libre de bugs, y no lo pienso revisar (siendo un código escrito en el odioso Batch xD).




Cita de: Orni1 en 27 Septiembre 2017, 23:03 PMsi tengo que ir a algún sitio y me das la opción de conducir en mi coche viejo o en el deportivo mas potente y mas moderno elegiré el coche viejo que aunque no soy piloto se como conducirlo mas o menos.

Es una decisión tan respetable como cualquier otra, pero piensa que el "coche" antiguo siempre manifestará algún tipo de problemas: se atascarán las marchas, el cuentakilómetros irá mal, el retrovisor no encajará bien, tendrás que darle golpecitos a la puerta para que se cierre del todo, te sentirás escaso de accesorios útiles en su interior... etcétera. El "coche" antiguo te podrá hacer sentir muy cómodo por esa sensación de familiaridad, pero eso no quita la realidad, y la realidad es que es inevitable que lo antiguo se desgaste y se invente algo que lo supere con creces, algo actual, más completo y sofisticado mientras que lo antiguo se desgasta, y ese desgaste (u obsolescencia) solo conseguirá que tus movimientos sean excesivamente torpes en comparación con lo que actualmente tienes a tu disposición (lo "moderno")...

De todas formas, si migrases a PowerShell no sería lo equivalente a comprarse el mejor coche deportivo del mundo, sino más bien sería como comprarse un coche mucho mejor que el coche antiguo para estos tiempos que corren, y sin perder esa relación de...manejo o aprendizaje amistoso.

Una de las muchas ventajas que supondría aprender otro lenguaje de programación... y ya no me estoy refiriendo a PowerShell, sino AL QUE SEA, seria darte cuenta de como lo que para desarrollar un algoritmo en Batch puede suponer escribir 100 lineas (que además serían 100 lineas de código espagueti e inestable), en ese otro lenguaje podrías simplificarlo a 10 lineas... con la diferencia y el ahorro de tiempo que eso conlleva, entre otras cosas.
Luego hay otros beneficios como las características de depuración de código o el soporte de un paradigma orientado a objetos, son cosas que no serían tan perceptibles para una persona que se acabe de iniciar en la programación o que no sepa mucho, pero siguen siendo cosas que en Batch tampoco tienes y te están limitando...sin que sepas demasiado bien el por qué.

No intento convencerte de nada xD pero quería darte mi opinión al respecto para que lo pudieras reflexionar desde la perspectiva adecuada (no sé si lo habré conseguido). Si yo quisiera recomendarte lo que considero el "mejor" lenguaje entonces no sería PowerShell (sería VB.NET o C#), PowerShell es el lenguaje que te recomiendo si quieres un lenguaje de scripting que no necesite instalar ningún "intérprete" adicional en Windows y con el que poder programar scripts sencillos o avanzados, me refiero, poder hacer de todo con libertad, estabilidad y sofisticación (sin duda infinitamente más que en Batch y VBS... en todos los sentidos posibles).

También debo decir que por supuesto para escribir scripts de forma esporádica para resolver algún problemilla como éste de reemplazar lineas de texto pues... no necesitas realizar el tremendo esfuerzo de aprender un nuevo lenguaje, pero si en el futuro sigues necesitando realizar tareas como esta entonces te convendría aprender, sino PowerShell entonces como mínimo Visual Basic Script (el cual sería un lenguaje más capacitado que Batch, pero menos que PowerShell), y esos meses que has pasado "atascado" en Batch probablemente habrían sido unas pocas horas o unos cuantos dias en uno de esos lenguajes...




Cita de: Orni1 en 27 Septiembre 2017, 23:03 PMque me indiques como hago uso de lo que propones, quiero decir... copio el código lo pego en un archivo de texto y que extensión debo ponerle.

Si te fijas bien en mi comentario, justo arriba del bloque de código escribí "script.ps1", pues bien, ese "ps1" hace referencia a la extensión del archivo. Si, simplemente copia y pega el código en un archivo de texto y lo guardas con extensión "ps1".

En esta linea especificarías la ruta del archivo de origen (el archivo que contiene el texto "Perl="):
Citar
Código (ini) [Seleccionar]
$srcFilePath  = ".\Iput Text.txt"

En esta linea especificarías la ruta del archivo de destino, es decir, el archivo donde se van a escribir el texto con los cambios/reemplazamientos hechos:
Citar
Código (ini) [Seleccionar]
$dstFilePath  = ".\Output Text.txt"

Esta linea no creo que necesites modificarla, y además creo que habla por si sola... el primer argumento de la función "Replace" es el texto a reemplazar ("Perl="), y el segundo argumento es el texto por el cual será reemplazado ("HT"):
Citar
Código (ini) [Seleccionar]
$replacedText = ($filecontent).Replace("Perl=", "HT")

¿Cómo utilizar el archivo/script?, pues sencillamente haciendo click derehcho sobre el archivo -> Ejecutar con PowerShell. O bien puedes abrir una instancia de la consola de Windows (CMD.exe) para iniciar la consola de Powershell tal que así:

Código (dos) [Seleccionar]
@Echo OFF
PowerShell.exe "C:\Ruta absoluta del script.ps1"





Cita de: Orni1 en 27 Septiembre 2017, 23:03 PMalgún enlace donde poder iniciarme en Power Shell

¿Cómo llevas el dominio del idioma Inglés?, la mayor fuente de documentación así como guías/tutoriales de introducción para iniciarse en el lenguaje y basicamente todo lo que necesitas aprender al respecto (incluyendo porsupuestísimo la referencia de los miembros del lenguaje al completo) lo puedes encontrar en la famosa web MSDN.com de Microsoft y la nueva docs.microsoft.com, eso sí, en perfecto Inglés:


Muchos artículos tanto en la MSDN como en docs.microsoft.com están en Castellano, tan solo tienes que modificar la dirección URL para reemplazar la localización del idioma "en-us" por "es-es", por ejemplo:
...pero la mayoría de artículos no están traducidos, te aviso.

Y luego en la galería de códigos de Technet puedes encontrar pues... eso, muchos scripts de programadores profesionales de PowerShell que puedes descargar para aprender analizando el código fuente:

( la gran mayoría de scripts que encontrarás ahí están enfocados a la administración web puesto que el propósito de utilización principal del lenguaje Powershell es la administración de servidores web, por otro lado Batch / CMD es un simple instrumento desarrollado con el único propósito de cubrir una interoperabilidad muy básica por no decir cutre, pobre e INUTIL entre el usuario y la shell de Windows, ofreciendo así la posibilidad de poder llevar a cabo tareas básicas (insisto en lo de BÄSICAS, muy, muy básicas, por que es así, Batch no da para más) de administración del sistema operativo y sistema de archivos en general; eso no quita que puedas y debas usar Powershell como reemplazamiento del antiguo Batch y cubrir todas esas cosas que en Batch resultarían muy tediosas o engorrosas de llevar a cabo. )

Bueno, creo que para variar he escrito un monólogo demasiado extenso... lo siento, pero no me gusta dejarme ningún detalle importante sin su debida aclaración.

Un saludo.
#1719
Por favor lee las reglas del foro y formatea ese código.




Cita de: pepeponce en 27 Septiembre 2017, 19:39 PMMi consulta es como puedo confirmar (mediante comparación o verificando) que las carpetas se han copiado completamente.

Añade un control de errores mediante el uso de On Error Resume Next al llamar al método Copy / CopyHere y evalua el valor de la propiedad Err.Number.

Aquí tienes la documentación:

Y este sencillo ejemplo demostrativo que escribí:
Código (vb) [Seleccionar]
Set folder = CreateObject("Scripting.FileSystemObject"). _
            GetFolder("C:\Source Directory\")

On Error Resume Next
   folder.Copy("C:\Target Directory\")

    If (Err.Number <> 0) Then
        MsgBox(Err.Description)
    Else
        MsgBox("Copy Successful")
    End If
On Error Goto 0





Cita de: pepeponce en 27 Septiembre 2017, 19:39 PMwscript.Quit(5)

¿Hay alguna buena razón por la que utilices un código de salida 5?, eso es algo atípico, lo normal sería que usases el Cero para indicar una terminación exitosa de la aplicación...:

Código (vb) [Seleccionar]
Wscript.Quit( 0 )

Saludos
#1720
Software / Re: despedida de soltero de Tom Hanks 1984
27 Septiembre 2017, 19:47 PM
Cita de: buite en 27 Septiembre 2017, 16:56 PMdespedida de soltero (...) en español de España

Nunca la había visto, pero al ver el trailer me han venido recuerdos de Suit Larry... esto casi parece el juego pero de carne y hueso xD.

Aquí puedes descargar la película en formato MicroHD de 720p (1280x720 approx.) y en Español de Cervantes:

EDITO: Bueno, ya puestos mejor te paso los contenedores de descarga:
http://ncrypt.in/...
http://relink.to/f/...

EDITO: Borro los enlaces por ser piratería y tal...

PD: Necesitas estar registrado en esa comunidad para ver el post y descargar la peli.

Saludos.