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


 


Tema destacado: 4n4lDetector v1.3: herramienta de análisis estático de malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderador: Eleкtro)
| | |-+  ¿Cómo puedo detectar una carpeta sin nombre?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo puedo detectar una carpeta sin nombre?  (Leído 1,086 veces)
Christopher Bryan

Desconectado Desconectado

Mensajes: 4



Ver Perfil WWW
¿Cómo puedo detectar una carpeta sin nombre?
« en: 9 Septiembre 2013, 21:35 »

Estoy haciendo una aplicación en BATCH que verifica la existencia de ciertos archivos. Pero necesito detectar cuando una carpeta se llama: " " (combinación [ALT+255]), he intentato con:

Código:
if exist "[RUTA]\ " (ren "[RUTA]\ " "Recovered_Files")

Pero a la hora de probarlo, no le cambia el nombre a la carpeta. ¿Entonces cómo es que detecto ese caracter y cambio el nombre?


En línea

while(!success)
{
     KeepTrying(objective);
     if(die)
         break;
}
Eleкtro
🌍 🕉️ 🛏️ Novato Astral 🛏️ 🕉️ 🌍 y...
Moderador Global
***
Desconectado Desconectado

Mensajes: 9.298


El sentido común es el menos común de los sentidos


Ver Perfil
Re: ¿Cómo puedo detectar una carpeta sin nombre?
« Respuesta #1 en: 9 Septiembre 2013, 21:51 »

¿cómo es que detecto ese caracter y cambio el nombre?[/size]

Código
  1. CHCP 1252 1>NUL
  2. Set "DIRECTORY=."
  3. IF Exist "%DIRECTORY%\á" (Rename "%DIRECTORY%\á" "Recovered_Files")

-> Code Page Identifiers

Saludos


En línea


[/cent
Christopher Bryan

Desconectado Desconectado

Mensajes: 4



Ver Perfil WWW
Re: ¿Cómo puedo detectar una carpeta sin nombre?
« Respuesta #2 en: 9 Septiembre 2013, 22:08 »

Código
  1. CHCP 1252 1>NUL
  2. Set "DIRECTORY=."
  3. IF Exist "%DIRECTORY%\á" (Rename "%DIRECTORY%\á" "Recovered_Files")

-> Code Page Identifiers

Saludos

Hola, acabo de probar el código, pero no funciona para lo que quiero adaptarlo, mira, aquí está lo que quiero que haga:

Código:
@ECHO OFF
MODE CON cols=78 lines=25
TITLE Mostrar archivos ocultos
COLOR 0B
SET /P UNIDAD=Digita solamente la letra de la unidad a procesar:
attrib -s -r -h %UNIDAD%:\*.* /s /d

(aqui quiero que haga esa función)

Entonces, cuando el usuario digíta una letra de unidad (Por ejemplo: E), el programa tiene que desocultar los archivos de la unidad, verificar si existe la carpeta aparentemente sin nombre y renombrarla. ¿Cómo adapto entonces eso siguiendo este código?
En línea

while(!success)
{
     KeepTrying(objective);
     if(die)
         break;
}
Eleкtro
🌍 🕉️ 🛏️ Novato Astral 🛏️ 🕉️ 🌍 y...
Moderador Global
***
Desconectado Desconectado

Mensajes: 9.298


El sentido común es el menos común de los sentidos


Ver Perfil
Re: ¿Cómo puedo detectar una carpeta sin nombre?
« Respuesta #3 en: 10 Septiembre 2013, 01:30 »

¿Cómo adapto entonces eso siguiendo este código?[/size]

Código
  1. @ECHO OFF & CHCP 1252 1>NUL & REM Modifico el código de ágina al CP WINDOWS-1252.
  2.  
  3. REM by .:: Elektro H@cker ::.
  4. REM para los usuarios de ElHacker.net
  5. REM
  6. REM Asegurarse de guardar este script en codificación ANSI, no UTF, no Unicode.
  7. REM
  8.  
  9. :: # WMI Class Win32_LogicalDisk Help
  10. ::
  11. :: Drivetype 2: Removable
  12. :: Drivetype 3: Local hard disk
  13. :: Drivetype 4: Network disk
  14. ::
  15. :: For Syntax: wmic logicaldisk get caption^,drivetype ^| FIND "(DriveType)      "
  16.  
  17. REM Filtro el output del comando WMIC.
  18. For /F %%# in (
  19. 'wmic logicaldisk get caption^,drivetype ^| FIND "3      "'
  20. ) Do (
  21. REM Saco las letras de los dispositivos disponibles.
  22. Call Set "Drives=%%DRIVES%%%%#"
  23. )
  24.  
  25. REM Elimino el caracter ":".
  26. Set "Drives=%DRIVES::=%"
  27.  
  28. REM Pregunto al usuario.
  29. Choice /C %DRIVES% /M "Elige una unidad:"
  30.  
  31. REM Seteo la posición inicial del Substring para sacar la letra elegida por el usuario.
  32. Set /A "DriveIndex=%ERRORLEVEL% - 1"
  33.  
  34. REM Finálmente seteo la letra elegida por el usuario.
  35. Call Set "Drive=%%DRIVES:~%DriveIndex%,1%%"
  36.  
  37. REM Retiro todos los atributos de los archivos y carpetas.
  38. Attrib -a -r -s -h -i /D /S "%Drive%:\*"
  39.  
  40. REM Proceso todas las carpetas de la unidad para renombrar las que contienen el caracter (ALT+255)
  41. REM La expresión "%Drive%:\* " no contiene un simple caracter de Espacio, usa el caracter ALT+255.
  42. For /D /R %%# in ("%Drive%:\* ") Do (
  43. (
  44.          Rename "%%~#" "Recovered_Files"
  45.        ) || (
  46.          Call Rename "%%~#" "Recovered_Files %%RANDOM%%"
  47.        )
  48. )
  49.  
  50. Pause&Exit

Saludos




EDITO:

Código:
attrib -s -r -h %UNIDAD%:\*.* /s /d

Eso no sé donde lo habrás visto pero es un fallo muy típico de todos los novatos,
tu intentas procesar carpetas y archivos pero ese patrón de búsqueda no procesa carpetas, pues solo procesará carpetas que contengan un punto "." en el nombre.

Lee sobre los asteriscos, las wildcards.

Saludos
« Última modificación: 9 Octubre 2013, 00:35 por EleKtro H@cker » En línea


[/cent
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Nombre de carpeta como texto? Se puede hacer? « 1 2 »
Windows
stars 12 2,011 Último mensaje 12 Enero 2006, 19:40
por stars
VBS - como podria hacer para cojer el nombre de una carpeta
Programación Visual Basic
quico5 1 1,512 Último mensaje 18 Agosto 2012, 20:11
por Eleкtro
(SOLUCIONADO) ¿Como renombrar un archivo o carpeta con el mismo nombre?
.NET
Eleкtro 2 4,660 Último mensaje 19 Diciembre 2012, 20:11
por Eleкtro
¿Puedo detectar si el proxy que uso es malicioso?
Seguridad
fikus 1 676 Último mensaje 20 Abril 2015, 19:25
por engel lex
[VBS] Detectar nombre en renombrado masivo
Scripting
ovichan 0 361 Último mensaje 28 Julio 2015, 00:04
por ovichan
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines