(Solucionado) ¿Como usar "Enviar a..." moviendo el archivo de origen?

Iniciado por Eleкtro, 27 Diciembre 2011, 19:11 PM

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

Eleкtro

Pues eso, uso muchiiiiiiiiiiiiiisimo la opción del menú contextual "Enviar a...", Pero luego es una molestia tener que borrar el archivo de origen...

Por eso a mi me gustaría "tocar" algo en el registro de Windows para que al usar "Enviar a...", en vez de copiar el archivo, se mueva.

Vamos, seguro que se puede... :(

EDITO: Uso windows 7.

Conozco los "trucos" de "Copiar a carpeta..." y "Mover a carpeta..." Pero eso no me interesa en absoluto, Busco algo más preciso, Tengo mis links en la carpeta de "Enviar a..." cosa que con las otras opciones no se puede tener esos accesos directos... Solo quiero que en vez de copiar, se muevan, asi de simple.

Por cierto, para quien quiera saberlo, aqui están las claves que creo que hay que trabajar:
HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\SendTo
HKEY_CLASSES_ROOT\CLSID\{7BA4C740-9E81-11CF-99D3-00AA004AE837}
HKEY_CLASSES_ROOT\CLSID\{C2FBB631-2971-11d1-A18C-00C04FD75D13}

PD: Ya se que el mundo de Linux no tiene limites '¬¬   :P

Un saludo a todos








Randomize

Pues recordando vagamente hubo una aplicación que tocaba todo el menú contextual del explorer, ahora que no me acuerdo del nombre y no sé si es lo que buscas.


Es cierto, linux no tiene límites, te metes en el código fuente y modificas "el enviar a ..." a donde tú quieres.

Eleкtro

Cita de: Randomize en 28 Diciembre 2011, 10:09 AM
Pues recordando vagamente hubo una aplicación que tocaba todo el menú contextual del explorer, ahora que no me acuerdo del nombre

Quizás te refieres al ShellMenuView y ShelExView de Nirsoft, Pero esos solo me sirven para habilitar/deshabilitar opciones, y localizar en el registro las claves de las opciones del menú :(

Gracias de todas formas.








Eleкtro

#3
Si es que soy muy cabezota, Y no hay nada mejor que hacerlo uno mismo.  :silbar:

Al final he echo una mini aplicación en Ruby para esta taréa

Aqui la comparto con vosotros por si fuese de utilidad: www.mediafire.com/?9a051l1wyd9jyot


Mover.exe Se puede usar de 2 formas:

1ª - Desde la consola:

Modo de empleo:
Mover.exe [Destino] [Archivo de origen 1] [Archivo de origen 2] [etc...]

Ejemplo: (Mover tres archivos al directorio de destino "C:"
Mover.exe "C:\" "D:\Archivo1.txt" "E:\Archivo2.jpg" "F:\Archivo3.mp3"


2º - Desde el menú "Enviar a..."  ;D
     
     Instrucciones:

    1- Guardamos el archivo "Mover.exe" donde queramos, Por ejemplo en "C:\Windows"    (No poner el ejecutable en System32, no funciona el compilado)
    2- Creamos nuestro archivo ".lnk" de enlace directo hacia una carpeta en Windows, Como lo hariamos normalmente
    2- Abrimos las propiedades del archivo ".lnk" y agregamos la ruta de "mover.exe" al destino del lnk.
        Por ejemplo, Si el destino es este: "E:\-=Temporal=-\Documentos\DVD"
        Debería quedar así: "C:\Windows\Mover.exe" "E:\-=Temporal=-\Documentos\DVD"
    4- Agregamos el archivo ".lnk" al menú "sendto" como lo hariamos normalmente.   (C:\Users\Administrador\AppData\Roaming\Microsoft\Windows\SendTo)

Sencillo, ¿Verdad?

Además le agregué un control de errores y lo hice de tal foema que los archivos no se reemplazen por equivocación.



Salu2!





El code:

Código (ruby) [Seleccionar]
# -*- coding: UTF-8 -*-

# By EleKtro H@cker (24/02/2012)
#
# Mueve archivos desde un punto de origen hasta un punto de destino
# Pensado para usarlo como replazamiento del "SendTo" de Windows.
#
# (Requiere el uso de argumentos)


# Módulos

require "FileUtils"
require 'dl'

exit if Object.const_defined?(:Ocra)


# Variables vonstantes

BUTTONS_OKCANCEL = 1
BUTTONS_YESNO = 4
CLICKED_CANCEL = 2
CLICKED_YES = 6
CLICKED_NO = 7


# Métodos

def help()
print "\nSe requiere al menos 1 archivo de origen.\n\n\n"
print "Modo de empleo: \n\n"
print ' Mover.rb [Destino] [Archivo de origen 1] [Archivo de origen 2] [etc...]' + "\n\n\n"
print 'Ejemplo: (Mover tres archivos al directorio de destino "C:"' + "\n\n"
print ' Mover.rb "C:\" "D:\Archivo1.txt" "E:\Archivo2.jpg" "F:\Archivo3.mp3"' + "\n\n"
Process.exit
end

def message_box(txt, title='', buttons='')
   user32 = DL.dlopen('user32')
msgbox = DL::CFunc.new(user32['MessageBoxA'], DL::TYPE_LONG, 'MessageBox')
r, rs = msgbox.call([0, txt, title, 3].pack('L!ppL!').unpack('L!*'))
   return r
end


# Control de errores

if ARGV.empty? == true
help()
elsif ARGV.length < 2
help()
elsif File.directory?(ARGV[0]) == false
print "\n El directorio de destino no existe: " + (ARGV[0]) + "\n"
Process.exit
end

for archivo in ARGV[1..ARGV.length].each
if File.exist?(archivo) == false
print "\n El archivo a mover no existe: " + archivo + "\n"
end

end



# Proceso

for archivo in ARGV[1..ARGV.length].each

if File.exist?(ARGV[0] + "\\" + archivo.split('\\').last)
response = message_box("Origen:\n" + archivo + "\n\n Destino:\n " + ARGV[0] + "\\" + archivo.split('\\').last + "\n\n El archivo de destino ya existe, Reemplazar archivo?", "Reemplazar archivo?", BUTTONS_YESNO)
if response == CLICKED_YES
  FileUtils.move archivo, ARGV[0]
  elsif response == CLICKED_CANCEL
  Process.exit
end
else
FileUtils.move archivo, ARGV[0]
end

end


# Fin

Process.exit








sr_corsario

Hola!!!
Estaba buscando una solución para ese mismo "problemilla" del "enviar a" y he dado con este hilo :D

El link del archivo compilado está caido, ¿te sabría mal subirlo de nuevo? (tb he buscado en inet por si aparecía)

Muchas gracias

Saludos

Eleкtro

Cita de: sr_corsario en 16 Noviembre 2012, 19:40 PM
Hola!!!
Estaba buscando una solución para ese mismo "problemilla" del "enviar a" y he dado con este hilo :D

El link del archivo compilado está caido, ¿te sabría mal subirlo de nuevo? (tb he buscado en inet por si aparecía)

Muchas gracias

Me van a regañar por contestarte, fíjate en la fecha del post!  :-\

Desde la última vez que publiqué una actualización de esta tool no he vuelto a tocar el code xD

Aquí tienes el executable:

http://exoshare.com/download.php?uid=BRBGOHYP


Y aquí más info: [RUBY] (APORTE) MoveIt (Complemento para el menú SendTo de Windows)

Saludos










simorg

CitarMe van a regañar por contestarte, fíjate en la fecha del post!  



Bueeeeeeno, por una vez vale, y encima has hecho feliz a alguien.... :xD :xD :xD



Saludos.