Ejecutar línea de comando desde porta papeles

Iniciado por CAEL20, 9 Marzo 2018, 06:48 AM

0 Miembros y 1 Visitante están viendo este tema.

CAEL20

Es posible que desde el portapapeles se ejecute el código que queremos ejecutar, es decir si copio en un block de notas está línea

Código (bash) [Seleccionar]
Echo Ejecutar & robocopy "C:\Users\me\Documents\a " "F:\Users\me\Documents\b" & echo terminó & exit

El batch pegue está línea y ejecute todas las órdenes que contiene la línea.

**Aincrad**

bueno yo lo haría de la siguiente manera :

Código (bash) [Seleccionar]
@echo off
copy "archivo.txt" "%temp%\archivo.bat"
start "%temp%\archivo.bat"
exit


;D




CAEL20

copie mi linea de comando no me aparecio nada, me puede ayudar por ejemplo con algun comando basico, que este en el portapapeles y que se ejecute

**Aincrad**

Cita de: CAEL20 en  9 Marzo 2018, 06:48 AM
El batch pegue está línea y ejecute todas las órdenes que contiene la línea.

Bueno usa el ejemplo que te puse en el post anterior.




ejemplo:

el archivo txt contiene :


echo Hola a todos

y el Batch :

Código (bash) [Seleccionar]
@echo off
for /f "tokens=*" %%x in (archivo.txt) do (set psw=%%x)
%psw%
pause


Espero que te sirva .  ;D




Flamer

A ver si te entendí quieres leer lo que se encuentra en el portapapeles y ejecutarlo o solo quieres leer un archivo txt y ejecutar lo que esta adentro

si es lo primero creo que desde batch no se puede, solo se puede escribir en el, osea copiar con el comando CLIP mas no se puede pegar osea leer el portapapeles

para leer lo que se encuentra en el porta papeles tendrias que hacer un archivo vbs con lo siguiente

Código (vb) [Seleccionar]

option explicit

dim objclip,CopyText
Set objclip  = CreateObject("htmlfile")
CopyText = objclip.ParentWindow.ClipboardData.GetData("text")
MsgBox CopyText


y si es lo segundo, es solo leer el archivo txt en batch, hay muchos tutoriales en internet como leer un archivo txt en batch

saludos

Eleкtro

Cita de: CAEL20 en  9 Marzo 2018, 06:48 AM
Es posible que desde el portapapeles se ejecute el código que queremos ejecutar, es decir si copio en un block de notas está línea

Código (bash) [Seleccionar]
Echo Ejecutar & robocopy "C:\Users\me\Documents\a " "F:\Users\me\Documents\b" & echo terminó & exit

El batch pegue está línea y ejecute todas las órdenes que contiene la línea.

No se entiende la pregunta, intenta expresarte de forma más precisa. De todas formas y por si acaso tienes la duda, te aclararé que NO es posible leer el contenido del portapapeles con Batch (con cualquier otro lenguaje que no sea el limitdado Batch, entonces si), lo único que puedes lograr es redireccionar la salida al portapapeles utilizando el comando externo CLIP.exe.

saludos