elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Cómo saber la unidad donde se ejecuta un .bat
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cómo saber la unidad donde se ejecuta un .bat  (Leído 12,728 veces)
<ИΘZIЭ(ŦB>

Desconectado Desconectado

Mensajes: 109


-cyman-


Ver Perfil
Cómo saber la unidad donde se ejecuta un .bat
« en: 23 Junio 2009, 22:39 pm »

Un saludo a todos los miembros del foro. Les cuento primeramente que soy muy nuevo usando archivos por lotes, pero una vez empecé no he querido parar. De verdad es mucho lo que facilita tener conocimientos al respecto. Uds mejor qu nadie lo deben saber, pues he notado con asombro expertos que son. Hace ya un par de horas que estoy revisando este foro en busca de una respuesta a mi duda, mas por no encontrar una alusión directa, me veo en la necesidad de pedirle ayuda a uds los expertos.

Como lo planteé en el título, lo que necesito es saber cómo detecto en mi .bat que se ejecuta desde un pendrive la unidad (o letra) que se le ha asignado en Windows. O sea, sí cuando conecto el pendrive windows le asigna la F:, cómo hago para obtener esa información en el mismo .bat?

Esa información la necesito para abrir el pendrive con el explorador. Tal vez haya una manera más simple de hacerlo.

Gracias de antemano...


En línea

ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: Cómo saber la unidad donde se ejecuta un .bat
« Respuesta #1 en: 23 Junio 2009, 23:04 pm »

usa %~d0 que regresa la unidad en la que se encuentra guradado
si no me crees intenta

explorer %~d0 y te abrira una ventana del explorador con la ruta en la que se guarde


En línea

<ИΘZIЭ(ŦB>

Desconectado Desconectado

Mensajes: 109


-cyman-


Ver Perfil
Re: Cómo saber la unidad donde se ejecuta un .bat
« Respuesta #2 en: 24 Junio 2009, 00:22 am »

Gracias amigo x0ʎu, me funcionó perfecto.

Ahora, aprovechando tu ayuda, será que sabes alguna manera o algún comando para que Windows actualice la vista de las carpetas, lo mismo que se hace presionando F5 o dándole Actualizar en el menú contextual de cualquier ventana del explorador?
En línea

EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: Cómo saber la unidad donde se ejecuta un .bat
« Respuesta #3 en: 24 Junio 2009, 00:36 am »

Actualizar no es posible que yo sepa, solo asi..
Usando NirCmd se podria pero ya seria usar un comando Externo..
Bueno algo mas cercano seria este code:
Código
  1. (
  2. Echo [Shell]
  3. Echo Command=2
  4. Echo [Taskbar]
  5. Echo Command=ToggleDesktop
  6. )>%tmp%\Desktop.scf
  7. Start %tmp%\Desktop.scf
  8. Del /Q /A %tmp%\Desktop.scf >nul 2>&1
Espero sirva de algo..

SaluDOS!!!
En línea

<ИΘZIЭ(ŦB>

Desconectado Desconectado

Mensajes: 109


-cyman-


Ver Perfil
Re: Cómo saber la unidad donde se ejecuta un .bat
« Respuesta #4 en: 24 Junio 2009, 02:15 am »

Gracias por tu interés amigo, pero tu código es para mostrar el escritorio. Yo quiero es Actualizar o Refrescar la visualización.
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Cómo saber la unidad donde se ejecuta un .bat
« Respuesta #5 en: 24 Junio 2009, 02:30 am »

Usa nircmd.exe para refrescar:
Código
  1. @echo off
  2. explorer %~d0
  3. nircmd sendkey 0x74 press

Nircmd:
Código:
http://nirsoft.net/utils/nircmd.zip
Saludos.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: Cómo saber la unidad donde se ejecuta un .bat
« Respuesta #6 en: 24 Junio 2009, 03:03 am »

O con VBS, si es que quisieras no incluirlo NirCmd en tu Batch..
Código
  1. (
  2. Echo Set Obj = CreateObject("WSCript.Shell"^)
  3. Echo Obj.AppActivate "%~d0"
  4. Echo Obj.SendKeys "{F5}"
  5. )>%tmp%\Refresh.vbs
  6. CSCript //nologo %tmp%\Refresh.vbs
  7. Del /Q /A %tmp%\Refresh.vbs
SaluDOS!!!
En línea

Banti

Desconectado Desconectado

Mensajes: 225


NULL


Ver Perfil
Re: Cómo saber la unidad donde se ejecuta un .bat
« Respuesta #7 en: 24 Junio 2009, 03:49 am »

Pero...
No es mas simple asi:
Código:
set unidad=%cd:~0,2%
echo %unidad%

Ya que no dependes codigos de otros lenguajes, programas etc.
« Última modificación: 24 Junio 2009, 03:51 am por Vaati » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Cómo saber la unidad donde se ejecuta un .bat
« Respuesta #8 en: 24 Junio 2009, 03:54 am »

No necesitas crear una variable ni usar extracción de caracteres, la variable ya la tienes:
Código:
@echo off
echo.%~d0
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
<ИΘZIЭ(ŦB>

Desconectado Desconectado

Mensajes: 109


-cyman-


Ver Perfil
Re: Cómo saber la unidad donde se ejecuta un .bat
« Respuesta #9 en: 24 Junio 2009, 15:42 pm »

Buenas! Acabo de conectarme y me encuentro con ese montón de respuestas! Gracias de verdad compañeros!

Ahora bien, he notado un detallito que hace que no me funcionen sus soluciones, aunque en efecto cumplen su cometido. El problema es que por lo visto Windows no usa la misma función para refrescar en los dos métodos ya mencionados, a saber, pulsando F5 y escogiendo la opción Actualizar del menú contextual. Cada uno debe tener su propio comando, les explico por qué.

La ayuda que les he pedido es porque tengo un .bat en el pendrive que le dice al registro que NO MUESTRE los archivos ocultos ni de sistema, si es que en la PC en que se conecta tiene activas esas funciones. En fin, el .bat funciona bien; el problema es que aún cuando deshabilita la opción de ver los archivos ocultos, al abrir el pendrive se siguen viendo, y hay que abrir el menú contextual y darle a la opción Actualizar para que ya no se vean. Pero si le doy a F5 no pasa nada, se siguen viendo igual. Es por eso que concluyo que Windows usa un comando distinto para ambas opciones.

Por eso amigos, ahora mi pregunta para uds es: hay alguno que se sepa ese comando que Windows usa para Actualizar por el menú contextual? De antemano agradezco sus respuestas.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como saber el directorio donde se aloja una web « 1 2 »
Nivel Web
RedZer 11 10,914 Último mensaje 1 Enero 2011, 19:47 pm
por RedZer
Como saber donde se mete el que me roba el wifi « 1 2 »
Wireless en Windows
cratps 10 17,793 Último mensaje 12 Agosto 2011, 17:33 pm
por beholdthe
maestros, como saber si tengo una unidad usb y que me desglose un msg *
Scripting
GEORGEFRT 7 5,721 Último mensaje 3 Diciembre 2011, 04:20 am
por leogtz
Mostrar directorio donde se ejecuta el programa
Programación C/C++
robinson23 0 1,392 Último mensaje 16 Enero 2014, 22:52 pm
por robinson23
¿Como saber de donde procede el RSSI de un paquete 802.11 monitoreando?
Redes
jarvisSuper 0 1,807 Último mensaje 29 Octubre 2015, 11:26 am
por jarvisSuper
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines