Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: GaminLabs en 18 Abril 2013, 17:31 pm



Título: batch acceder a carpeta sin nombre
Publicado por: GaminLabs en 18 Abril 2013, 17:31 pm
que tal!!
soy nuevo en el foro y asi como he encontrado ayuda aqui, espero poder aportar con lo que pueda =)

bueno mi problema es el siguiente:
estoy creando un batch, pero necesito entrar a una carpeta que no tiene nombre y esta oculta

como puedo acceder a ella con los comandos del ms-dos??

de antemano muchas gracias


Título: Re: batch acceder a carpeta sin nombre
Publicado por: Eleкtro en 18 Abril 2013, 17:46 pm
necesito entrar a una carpeta que no tiene nombre
Una carpeta no puede existir sin un nombre asignado. (Aunque este séa un nombre reservado de Windows y quizás por eso te parezca que la carpeta no tiene nombre...)
Quizás deberías dar más detalles del problema...

Para modificar el directório de trabajo actual (Es decir, entrar a una carpeta oculta o no):
Código:
CD /D "C:\Nombre de la carpeta""

Si lo que quieres es encontrar una carpeta cuyo nombre desconoces, entonces puedes usar el comando DIR, o un búcle para recorrer las carpetas en un nivel superior del directorio donde quieres encontrar dicho nombre de carpeta:

Código
  1. @Echo OFF
  2.  
  3. Set "FOLDER=%USERPROFILE%"
  4.  
  5. Echo: [+] Nombres de carpetas del directorio "%FOLDER%": | MORE
  6. FOR /D %%X in ("%FOLDER%\*") DO (Echo: %%~nX)
  7.  
  8. Pause&Exit


Output:
(http://img35.imageshack.us/img35/9899/captura1x.png)


EDITO: ...Y para encontrar los nombres de carpetas ocultas:
Código:
FOR /F "tokens=*" %%X IN ('DIR /AD /B') do ...


Saludos!


Título: Re: batch acceder a carpeta sin nombre
Publicado por: GaminLabs en 22 Abril 2013, 01:25 am
hola antes que nada una disculpa por no responder rapido, pero en la oficina el trabajo ha estado pesado...

bueno explico mejor mi problema..

me han llegado varias memorias USB con el mismo virus y este lo que hace es que en la memoria USB toda la informacion la mueve a una carpeta que esta oculta y da la impresion que no tiene nombre y en la raiz nos deja 2 o 3 archivos que no recuerdo sus nombres ni extensiones y ademas un acceso directo que no he revisado hacia donde apunta....

entonces lo que quiero hacer es crear un batch el cual me elimine los archivos basura, elimine accesos directos, y la informacion la saque de esa carpeta y la mueva a la raiz, despues eliminar la carpeta oculta y "sin nombre" para que ahora si quede la informacion a como estaba antes...

dejo una captura de pantalla y el codigo que tengo del batch...

de antemano muchas gracias

(http://img266.imageshack.us/img266/43/capturakr.jpg)

y el codigo que tengo es:

Código:
@echo Cambiando Atributo de Carpetas...
Attrib /d /s -r -h -s *.*
@echo.
@echo Eliminando Accesos Directos...
if exist *.lnk del *.lnk
@echo.
@echo Eliminando Temporales...
if exist *.tmp del *.tmp
@echo.
@echo Eliminando Basura...
if exist *.trashes del *.trashes
if exist Thumbs.db del Thumbs.db
@echo.
@echo Eliminando Autorun...
if exist autorun.inf del autorun.inf
@echo.
@echo.
@echo Operacion Finalizada...
@echo.


Título: Re: batch acceder a carpeta sin nombre
Publicado por: Eleкtro en 22 Abril 2013, 03:12 am
Ahora mismo no recuerdo la sintaxis que se debía usar para referirse a una carpeta sin nombre (una carpeta con nombre reservado de windows), pero poder, se puede eliminar desde la consola.

Aunque me parece mucho más sencillo y eficaz hacer lo siguiente:
1. Mover los archivos a una carpeta temporal (filtrando los archivos indeseados) conservando la estructura de las carpetas.
2. Formatear el pendrive (para eliminar la carpeta incompatible, y la basura).
3. Mover los archivos de nuevo al pendrive.

Si se tratase de un HDD no apoyaría lo de formatear para solucionar ese problema, pero siendo un simple USB... me parece lo más rápido.

Código
  1. @Echo OFF
  2.  
  3. Set "Drive=E"
  4. Set "TempFolder=C:\Backup"
  5. Set "RegEx=\.lnk$ \.tmp$ \.trashes$ autorun\.inf$"
  6.  
  7. :: Salvaguardar archivos
  8. For /F "Tokens=*" %%# in ('Dir /B /S /A-D "*" ^| FINDSTR /V /I "%RegEx%"') Do (
  9.  
  10. :: Crear el directorio
  11. If not exist "%TempFolder%\%%~p#" (
  12. Echo [+] Creando directorio: "%TempFolder%\%%~p#"
  13. MKDIR "%TempFolder%\%%~p#"
  14. )
  15.  
  16. :: Copiar el archivo
  17. Echo [+] Copiando archivo: "%%#"
  18. Copy "%%#" "%TempFolder%\%%~p#\" 1>NUL
  19. )
  20.  
  21. :: Formatear unidad
  22. :: Echo s | Format "%Drive%:" /fs:fat32 /q
  23.  
  24. :: Restaurar archivos a la unidad
  25. XCopy /E "%TempFolder%\*" "%Drive%:\"
  26.  
  27.  
  28. Pause&Exit

Saludos!


Título: Re: batch acceder a carpeta sin nombre
Publicado por: kelevra1 en 28 Mayo 2016, 20:00 pm
Holaa todos, tambie estoy tratando de hacer un .BAT que borre la carpeta sin nombre que es un virus en los pendrives...
No solo de se trata de una carpeta oculta, ya que con el comando Attrib /d /s -r -h -s *.*  se soluciona eso....
El problema es que cuando quiero entrar la ruta, directorio de esa carpeta, cmd da el error en la sintaxis de la ruta.
Este es mi codigo:

If exist "PENDRIVE:\ " (goto yes) else (goto no)
:yes
echo       *** SE ENCONTRO: DIRECTORIO " " TECLA ESPACIO! ***
echo.
ROBOCOPY PENDRIVE:\ \  PENDRIVE:\ /MIR /move
:no
echo NO SE ENCONTRO: DIRECTORIO " " TECLA ESPACIO!


Cuando corre el .Bat efectivamente encuentra que hay una carpeta sin nombre

echo       *** SE ENCONTRO: DIRECTORIO " " TECLA ESPACIO! ***

Pero cuando quiero cortar el contenido de la "carpeta sin nombre" y pegarlo en la raiz del del pendrive, cmd da el error de que la sintaxis es incorrecta.

Todo esto lo hago despues de eliminar los archivos que son el virus.